以下是我在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;
}
});
答案 0 :(得分:0)
使用
final String q_id = Resources.getSystem().getString(R.string.q_id);
而不是
final String q_id = view.getResources().getString(R.string.q_id);