2013-04-13 2 views
0

У меня есть программа, которая отображает список записей, извлеченных из базы данных через поставщика контента.Диалоговое окно вместо контекстного меню

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

Вместо этого я хочу использовать диалоговое окно - таким образом пользователь может пометить элемент описанием перед его удалением.

Вот код для моего меню содержимого:

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

super.onCreateContextMenu(menu, v, menuInfo); 
showDialog(DIALOG_SAB_PRIORITY_ID); 
menu.add(0, DELETE_ID, 0, "Returned Item - Remove"); 

} 

И код, если выбран пункт:

public boolean onContextItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case DELETE_ID: 

     AdapterContextMenuInfo info = (AdapterContextMenuInfo) item 
       .getMenuInfo(); 
     Uri uri = Uri.parse(BorrowMeContentProvider.CONTENT_URI + "/" 
       + info.id); 
     getContentResolver().delete(uri, null, null); 
     fillData(); 
     return true; 
    } 
    return super.onContextItemSelected(item); 
} 

Я должен упомянуть, что я собираюсь изменить этот пункт так он не удаляется, просто помечен как возвращенный. Моя Диалоговое окно выглядит следующим образом:

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

Благодаря

ответ

0

Если вы хотите избавиться от контекста меню, то вы можете переместить вызов вашего диалога на ваш взгляд списка onListItemClick слушателя, что-то вроде этого:

@Override 
public void onListItemClick(ListView l, View v, int position, long id) { 
    // other code... 
    showDialog(DIALOG_SAB_PRIORITY_ID); 
    // other code... 
} 
+0

Спасибо, он поставил меня на правильный путь! – Vince

+1

Для всех, кого это интересует - это отличная статья, которая идет дальше с тем, что было рекомендовано здесь. Еще раз спасибо! http://android.konreu.com/developer-how-to/click-long-press-event-listeners-list-activity/ – Vince

+0

добро пожаловать ... в статье есть несколько полезных советов по настройке действий ... С уважением! –