下面是我在ListAdapter中从数据库获取值的代码。
我不想显示id
字段,所以我将其存储在R.string.q_id
中,但当我尝试Toast该视图时,我得到一个空值。
如果我尝试获取question
或option1
,同样的代码也能工作。
我需要id使用whereClause/whereArgs 从数据库中删除条目
ListView lv = getListView();
ListAdapter adapter = new SimpleAdapter(ListQuestionActivity.this, questionList, R.layout.question_list, new String[]{"id","question", "option1", "option2", "option3", "option4"}, new int[]{R.string.q_id, R.id.question, R.id.option1, R.id.option2, R.id.option3, R.id.option4});
setListAdapter(adapter);
lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
TextView question = (TextView) view.findViewById(R.id.question);
TextView opt1 = (TextView) view.findViewById(R.id.option1);
final String q_id = view.getResources().getString(R.string.q_id);
Toast.makeText(getApplicationContext(), q_id, Toast.LENGTH_SHORT).show();
openOptionsDialog(q_id);
return false;
}
});
使用
final String q_id = Resources.getSystem().getString(R.string.q_id);
代替
final String q_id = view.getResources().getString(R.string.q_id);