我创建了一个DataBase表并在其中插入了值,然后我将表中的信息排序并将其放入ListView中,我想要的是当我点击ListView中的Item时我将能够获得它在数据库表中的ID(不是列表视图中项目的ID),以便允许我使用其ID来删除或编辑内容。 我能够将Id放在ArrayAdaptor的Hiden TextView(idTV)中,并使用以下代码在具有列表视图的类中访问它。
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
//The ID was exact
TextView ID = (TextView) view.findViewById(R.id.idTV);
String id = ID.getText().toString();
FragmentManager fragmentManager = getSupportFragmentManager();
ScheduleDailog scheduleDailog = new ScheduleDailog();
scheduleDailog.show(fragmentManager, "ScheduleDialog");
}
上面我打开一个带有删除和编辑按钮的Dialog片段,但我不知道如何将我从listView类中获取的ID发送到ScheduleDialogFragment,以便我可以调用以下方法(例如) DBHelper类并使用id从DataBase中删除它
public Integer deleteCustomReminder(String id){
return mDatabase.delete(Contract.customReminder.TABLE_NAME, "ID = ?", new String[]{id});
}
如果有更好的方式获取物品ID,我会很高兴知道它。