Повторно заполнить список с помощью правильного идентификатора?

(Во-первых, я прошу прощения за мой плохой английский, пожалуйста, исправьте это)

Привет, я могу заполнить представление списка из базы данных и, если я нажму на любой элемент списка, оно перейдет в "Detail.class" по связанному "id".

Проблема в том, что когда я заново заполняю урок (lesson= " WHERE deck='" + lesson + "'";), список правильно заполняется, но индекс / идентификатор списка просмотра? не меняются, и когда я щелкаю элемент списка, открывается "Detail.class", но с неверным идентификатором.

----- класс помощника базы данных ---

    if (lesson.equals("")) {
        lesson= "";

    } else {
        lesson= " WHERE deck='" + MainActivity.lesson + "'";

    }


    String selectQuery = "select word, id,word,typ from TAB" + lesson + " group by id"; 

---- MainActivity class ----

private void loadListview() {
    Database db = new Database(getApplicationContext());
    List<String> labels = db.makeList();

    dataAdapter = new ArrayAdapter<String>(this, R.layout.listview_spc, labels);

    Listview1 = (ListView) findViewById(R.id.liAll);
    Listview1.setAdapter(dataAdapter);

}


    Listview1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                                long arg3) {

                Intent intent = new Intent(getApplicationContext(), Detail.class); 
                intent.putExtra("id", (int) word_ids[arg2]); // I think the problem is here.
                startActivity(intent);
                  }
    });

1 ответ

Замените код списка кликов ниже,

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                        Intent intent = new Intent(getActivity(), Detail.class);
                        intent.putExtra("Id",labels.get(position).getId());
                        startActivity(intent);
                    }
                });
Другие вопросы по тегам