【发布时间】:2016-03-14 18:12:03
【问题描述】:
我有一个带有ListView 和我本地sql 数据库数据的android 应用程序。
现在我想用 ID 从我的数据库中删除一个项目。
我想长按任何一行,这应该会删除该项目。
ListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
// DELETE ACTION
}
但是如何获取我的数据库的项目 ID?
目前,我使用查询将 ID 保存在隐藏的 TextView 中,并通过 findviewbyid() 获取此 ID。
但这是正确的方法吗?
适配器:
public class DatabaseListAdapter extends BaseAdapter {
Context context;
ArrayList<DatabaseListItems> databaseList;
public DatabaseListAdapter(Context context, ArrayList<DatabaseListItems> list) {
this.context = context;
databaseList = list;
}
@Override
public int getCount() {
return databaseList.size();
}
@Override
public Object getItem(int position) {
return databaseList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup arg2) {
DatabaseListItems databaseListItems = databaseList.get(position);
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.custom_listview_item, null);
}
TextView tvID = (TextView) convertView.findViewById(R.id.txtViewID);
tvID.setText(databaseListItems.getID());
return convertView;
}
}
【问题讨论】:
标签: android sqlite android-listview