Android从警告框中获取点击的值

时间:2012-04-09 06:38:51

标签: android

我有一个包含频道列表的提示框。

我想获得点击频道的价值。

这可能吗?

到目前为止,我有这个...

  public void ShowChannelDialog(){

      String[] channels = new String[_publicChannels.size()];
      channels = _publicChannels.toArray(channels);

      AlertDialog.Builder showChannel = new AlertDialog.Builder(this);
      showChannel.setTitle("Channel List ("+(_publicChannels.size()-1)+" channels)");


      showChannel.setItems(channels, new DialogInterface.OnClickListener() {

        public void onClick(DialogInterface dialog, int item) {
            _publicChannels.clear();
            if (item == (_publicChannels.size())) {
                System.out.println("NEW CHANNEL");
                CreateNewChannel();
                dialog.dismiss();
            }else{
                String channel = String.valueOf(item);
                System.out.println("Selected: " + channel);
            }
        }
    });

String.valueof(item)只给出了数组中的int值,我想要实际的文本值。

谢谢!

3 个答案:

答案 0 :(得分:1)

而不是String.valueOf(item),请使用channels[item]。您还需要制作频道final

答案 1 :(得分:1)

尝试以下

 if (item == (_publicChannels.size())) {
            System.out.println("NEW CHANNEL");
            CreateNewChannel();
            dialog.dismiss();
        }else{
            String channel = channels[item];
            System.out.println("Selected: " + channel);
        }

答案 2 :(得分:0)

退出时的示例确认对话框

            AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setMessage("Are you sure you want to exit?")
                .setCancelable(false)
                .setPositiveButton("Yes",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog,
                                    int id) {
                                finish();
                            }
                        })
                .setNegativeButton("No",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog,
                                    int id) {
                                dialog.cancel();
                            }
                        });
        AlertDialog alert = builder.create();
        alert.show();