Показать выбранный элемент в заголовке контекстного меню - PullRequest
0 голосов
/ 03 марта 2011

Я создал приложение для Android с активностью, в которой есть ListView, в котором перечислены все плейлисты.

Я добавил ContextMenu, поэтому при длинном щелчке можно вызвать несколько вариантов, напримеркак "Удалить", "Воспроизвести" и т. д.

В обработчике ContextMenu как извлечь информацию, чтобы узнать, для какого списка воспроизведения было выбрано контекстное меню.

Здесь я хочу отобразить название выбранного списка воспроизведения в заголовке контекстного меню.

public void onCreateContextMenu(ContextMenu menu,
                                 View v,
                                 ContextMenuInfo menuInfo)  
{

     super.onCreateContextMenu(menu, v, menuInfo);
     menu.setHeaderTitle("Selected Playlist Name");      
     menu.add(0, v.getId(), 0, "Play");     
     menu.add(0, v.getId(), 1, "Delete"); 
}

1 Ответ

2 голосов
/ 03 марта 2011

Это как получить текст в выбранном элементе в ListView.Вы можете прочитать информацию из AdapterContextMenuInfo, когда приведете menuInfo к типу AdapterContextMenuInfo, а затем прочитать значение из свойства targetView)

public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo)
{
   super.onCreateContextMenu(menu, v, menuInfo);
   AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo;
   String name = ((TextView) info.targetView).getText().toString();
   menu.setHeaderTitle(name);      
   menu.add(0,v.getId(), 0, "Play");    
   menu.add(0,v.getId(), 1, "Delete"); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...