Не заходит в onContextItemSelected() для кастомного адаптера

Интерфейс, диалоги, темы, стили, меню
Ответить
bagrusss
Сообщения: 22
Зарегистрирован: 08 дек 2013, 00:17

Не заходит в onContextItemSelected() для кастомного адаптера

Сообщение bagrusss » 18 июл 2014, 02:10

Столкнулся с такой проблемой: не вызывается метод onContextItemSelected() для ListView с кастомным адаптером, который наследуется от CursorAdapter. C показом меню проблем нет.
Мои шаги:
1) В onCreate() вызвал registerForContextMenu(lw).
2) В onCreateContextMenu() создал меню:

Код: Выделить всё

	@Override
	public void onCreateContextMenu(ContextMenu menu, View v,
			ContextMenuInfo menuInfo) {
		super.onCreateContextMenu(menu, v, menuInfo);
			menu.add(0, 10, 0, R.string.action_change_birthday);
			menu.add(0, 11, 0, R.string.action_change_template);
		}		
	}
3) В CursorAdapter переопределил методы newView(), bindView()
4) Класс активности наследуется от ActionBarActivity.

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Не заходит в onContextItemSelected() для кастомного адап

Сообщение KamiSempai » 18 июл 2014, 15:45

Фрагменты используются?
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

bagrusss
Сообщения: 22
Зарегистрирован: 08 дек 2013, 00:17

Re: Не заходит в onContextItemSelected() для кастомного адап

Сообщение bagrusss » 18 июл 2014, 17:52

KamiSempai писал(а):Фрагменты используются?
Фрагменты не использовал. Только ListView у меня в xml-файле активности нет, я его добавляю в onCreate()

Код: Выделить всё

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_list);
		linlay = (LinearLayout) findViewById(R.id.activity_list);
		lw = new ListView(this);
		lw.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
					LayoutParams.WRAP_CONTENT));
		linlay.addView(lw);
		//код инициализации адаптера.
		lw.setAdapter(adapter);		
		lw.setOnItemClickListener(this);
		registerForContextMenu(lw);
}

bagrusss
Сообщения: 22
Зарегистрирован: 08 дек 2013, 00:17

Re: Не заходит в onContextItemSelected() для кастомного адап

Сообщение bagrusss » 18 июл 2014, 18:26

Вопрос можно считать закрытым. Перенес ListView в xml-файл активности, все заработало.

Но все таки мне интересно почему метод onContextItemSelected() не вызывается, если создаю список в коде? Какого слушателя для ListView необходимо установить?

Ответить