2013-04-15 16 views
0

我想從listview onItemLongCLick激活SingleChoiceItems對話框,它有3個選項通過單選按鈕1.查看配置文件2.發送消息3.刪除朋友,並從我有它的方式設置,只有第一選項敬酒適用於所有3個選項。 我怎樣才能讓選項2和選項3完成他們的操作而不是執行選項1的操作?對話框只有第一個選項工作

下面是代碼到我的對話框,

@Override 
public Dialog onCreateDialog(int id) { 
    String[] items = { "View Profile", "Send Message", "Remove Friend" }; 
    final DBAdapter db = new DBAdapter(this); 
    db.open(); 

    switch (id) { 
    case 0: 
     return new AlertDialog.Builder(this) 
       .setIcon(R.drawable.icon) 
       .setTitle("Select a option") 
       .setSingleChoiceItems(items, id, 
         new DialogInterface.OnClickListener() { 

          @Override 
          public void onClick(DialogInterface dialog, 
            int which) { 
           int choice = 0; 
           // TODO Auto-generated method stub 
           mChoice = choice; 
          } 
         }) 

       .setPositiveButton("OK", new OnClickListener() { 

        @Override 
        public void onClick(DialogInterface dialog, int choice) { 
         // TODO Auto-generated method stub 
         if (mChoice == 0) { 
          Toast.makeText(getBaseContext(), "Test 1", 
            Toast.LENGTH_SHORT).show(); 
         } else if (mChoice == 1) { 
          Toast.makeText(getBaseContext(), "Test2", 
            Toast.LENGTH_SHORT).show(); 
         } else if (mChoice == 2) { 
          TextView friends = (TextView) findViewById(R.id.textview_friends); 
          String deletedfriend = friends.getText() 
            .toString(); 
          db.DeleteFriends(deletedfriend); 
          Toast.makeText(getBaseContext(), 
            "Friend Removed", Toast.LENGTH_SHORT) 
            .show(); 
         } 
        } 
       } 

       ) 

       .setNegativeButton("Cancel", new OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialog, int choice) { 

        } 
       }) 

       .create(); 

    } 
    return null; 
} 
+0

爲什麼要取出SingleChoiceItems的偵聽器?把它放回來,它會沒事的。 –

+0

@HoanNguyen我沒有這個必要我把它放回去,但它仍然是一樣的。 – Cranosaur

+0

@HoanNguyen非常感謝您告訴我包括「哪個」現在我可以選擇所有選項! – Cranosaur

回答

1

刪除選擇= 0;

.setSingleChoiceItems(items, id, 
        new DialogInterface.OnClickListener() { 

         @Override 
         public void onClick(DialogInterface dialog, 
           int which) { 

          mChoice = which; 
         } 
        }) 
+0

謝謝你解決了我的問題! – Cranosaur

相關問題