2011-11-18 55 views
0

我有一個android按鈕,點擊時會產生一個警告框。但我不知道如何從警報框中捕獲選定的值。我的代碼是捕獲警報框選擇android

btn=(Button)findViewById(R.id.btn); 

String[] items = new String[] {"name", "doc", "age"}; 
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
      android.R.layout.simple_spinner_dropdown_item, items); 

btn.setText("Select One"); 

btn.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      new AlertDialog.Builder(context) 
       .setTitle("Select Airport") 
       .setAdapter(adapter, new DialogInterface.OnClickListener() { 

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



        dialog.dismiss(); 
       } 
       }).create().show(); 

     } 

    }); 

請幫忙。提前致謝!

+0

很老..什麼是你的實際問題是.. –

+0

@NiravBhandari最初我的按鈕有一些值說紅色。如果我想改變紅色的值,我點擊按鈕,並提供一系列我可以選擇的其他顏色。我想將按鈕的值更改爲我從警報框中選擇的值。 – Chandeep

+0

在listView中使用適配器嗎? – Arslan

回答

4

在你的代碼

int which 

說法onClick事件AlertDialog的返回所選項目的位置的數字。

爲了檢查你只是Toast一個消息,當您從AlertDialog

代碼選擇任何項目:

btn.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     new AlertDialog.Builder(context) 
      .setTitle("Select Airport") 
      .setAdapter(adapter, new DialogInterface.OnClickListener() { 

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

       Toast.makeText(YourActivity.this,"You Selected : "+items[which],Toast.LENGTH_SHORT).show(); 

       dialog.dismiss(); 
      } 
      }).create().show(); 

    } 

}); 

你可以參考Android's Official Guide On Dialogs有關對話框更多信息Android中

+1

+1準確答案。 –

+0

非常感謝! :D這有幫助! :D接受的答案! – Chandeep

+0

謝謝拉利特:) –