在字符串中获取值适配器值“id”(R.string.id)

时间:2015-11-18 12:28:38

标签: android listadapter

以下是我在ListAdapter中从数据库中获取值的代码。

我不想显示id字段,因此我将其存储在R.string.q_id中,但当我尝试Toast视图时,我得到一个空值。

如果我尝试获取questionoption1,则相同的代码有效。

我需要 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;
                }
            });

1 个答案:

答案 0 :(得分:0)

使用

final String q_id = Resources.getSystem().getString(R.string.q_id);

而不是

final String q_id = view.getResources().getString(R.string.q_id);