onlistitemclick в AppCompatActivity

Я выполнил шаги, упомянутые в этом ответе, чтобы установить панель инструментов для просмотра списка [изображение списка] [1].

Теперь элементы списка не кликабельны. При использовании элементов списка ListActivity можно было щелкнуть, при нажатии на любой элемент откроется другое действие с заголовком элемента и его содержимым.

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
    Note note = posts.get(position);
    Intent intent = new Intent(this, EditNoteActivity.class);
    intent.putExtra("noteId", note.getId());
    intent.putExtra("noteTitle", note.getTitle());
    intent.putExtra("noteContent", note.getContent());
    startActivity(intent);

}

person Rashid    schedule 11.05.2016    source источник
comment
i.stack.imgur.com/titkg.png   -  person Rashid    schedule 11.05.2016
comment
Посмотрите на мой ответ !!   -  person varunkr    schedule 11.05.2016


Ответы (1)


Сделай это

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
         Note note = posts.get(position);
         Intent intent = new Intent(this, EditNoteActivity.class);
         intent.putExtra("noteId", note.getId());
         intent.putExtra("noteTitle", note.getTitle());
         intent.putExtra("noteContent", note.getContent());
         startActivity(intent);
    }
});
person varunkr    schedule 11.05.2016
comment
Это не работает, говорит, что не может разрешить символ «список» и еще 3 ошибки - person Rashid; 11.05.2016
comment
@Rashid Измените listView на имя listView, которое вы используете в своем приложении. - person varunkr; 11.05.2016
comment
'code'общедоступный класс MainActivity расширяет сообщения AppCompatActivity{ private List‹Note›; панель инструментов частной панели инструментов; частный ListView lv; @Override protected void onCreate (Bundle saveInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); панель инструментов = (Панель инструментов) findViewById(R.id.toolbar); lv = (ListView) findViewById(R.id.list); setSupportActionBar (панель инструментов); 'код' - person Rashid; 11.05.2016
comment
Я сделал это, но та же ошибка не может разрешить символ setOnItemClickListener. - person Rashid; 11.05.2016
comment
Действительно? lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView‹?› parent, View view, int position, long id) { Note note = posts.get(position); Intentintent = new Intent(this , EditNoteActivity.class); намерение.putExtra(noteId, note.getId()); намерение.putExtra(noteTitle, note.getTitle()); намерение.putExtra(noteContent, note.getContent()); startActivity(намерение); } }); не работает, просто вставьте !! - person varunkr; 11.05.2016
comment
Да, получил ту же ошибку. Измените положение кода чуть ниже метода onCreate и получите новую ошибку, над которой я работаю. Извините, я новичок. - person Rashid; 11.05.2016
comment
Если это проблема, просто опубликуйте свой полный код после изменений в вопросе. - person varunkr; 11.05.2016
comment
Остальные ошибки исправлены. Новая ошибка в этой строке. Намерение намерения = новое намерение (это, EditNoteActivity.class); он говорит, что не может разрешить намерение конструктора... - person Rashid; 11.05.2016
comment
@Rashid Измените это на MainActivity.this - person varunkr; 11.05.2016
comment
Большое спасибо, Варун. Когда я переместил код в раздел метода Oncreate, все заработало. Почему? - person Rashid; 11.05.2016
comment
@Rashid Это должно быть в onCreate, где это было раньше? - person varunkr; 11.05.2016
comment
Вы имеете в виду вне функций? Он должен быть в onCreate или onResume, я думаю, вы объявили его в классе вне методов. - person varunkr; 11.05.2016