2013-05-07 3 views
1

У меня есть ListView, который я даю OnItemLongClickListener. В LongClick на элементе должен отображаться диалог.AlertDialog не срабатывает на ItemLongClickListener

lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { 
     public boolean onItemLongClick(AdapterView<?> parent, View v, int position,long id) 
     { 
      System.out.println("LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"); 
      String selectedFromList =(String) (lv.getItemAtPosition(position)); 
      final int kindid = db.selectIDvonKind(selectedFromList); 

      try{ 

       AlertDialog.Builder adb = new AlertDialog.Builder(MainActivity.this); 
       adb.setTitle("Kind " + selectedFromList + " löschen?"); 
       adb 
       .setMessage("Sind Sie sicher dass Sie " + selectedFromList + " löschen möchten?") 
       .setCancelable(false) 
       .setPositiveButton("Ja",new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog,int id) { 
         db.deletekind(kindid); 
        } 
        }) 
       .setNegativeButton("Nein",new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog,int id) { 
         dialog.cancel(); 
        } 
       }); 

      } 
      catch(Exception e){ 
       Toast t = Toast.makeText(MainActivity.this, "Kind konnte nicht gelöscht werden!", Toast.LENGTH_SHORT); 
       t.show(); 
      } 
      return false; 
     } 
    }); 

Моя проблема в том, что у меня тоже есть OnItemClickListener:

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

     String selectedFromList =(String) (lv.getItemAtPosition(arg2)); 
     int id = db.selectIDvonKind(selectedFromList); 
     System.out.println(" " + id); 
     Intent i = new Intent(MainActivity.this, Ereignisse.class); 
     i.putExtra("kinderid", id); 
     startActivity(i); 
    } 
}); 

Так что теперь, когда я нажимаю долго на Элемента, диалог не правда уволят, просто действие onItemClick выполняется ,

Где моя проблема?

+2

ли вы, вызвать метод show() 'в вашем диалоговом окне? – Luksprog

+0

OMG ... наверняка. Благодаря! – user896692

ответ

2

Чтобы показать AlertDialog вам нужно вызвать метод show() в диалоговом Например:

adb.show();

0

Вы не вызвали метод show() в диалоговом окне.

также убедитесь, что вы сделали следующее на вашем ListView: -

mListView.setLongClickable(true); 
    mListView.setOnLongClickListener(this); 

 Смежные вопросы

  • Нет связанных вопросов^_^