0

Android でメニューを作成しています。ユーザーが選択した内容に応じて、このメニューに新しいクラスを開きたいと思います。

私が作成したメニューは、このリンクからのものです: http://developer.android.com/guide/topics/ui/dialogs.html#AlertDialog

そして、チェックボックスとラジオボタンを追加するためのコードです

私はこのコードを持っています:

 final CharSequence[] items = {"Red", "Green", "Blue"};

        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("Pick a color");
        builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int item) {


                Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
            }
        });
        final AlertDialog alert = builder.create();

しかし、私はトーストを奪いたいと思います:

Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();

そのため、ユーザーが配列リストで指定された色をクリックすると、新しいクラスが表示されますが、これを行う方法がわかりません。

次のような if ステートメントを作成しようとしています。

  if(items.equals("Red")){
                    Intent red = new Intent(Menu.this,Red.class);
                    startActivity(red);
                }

しかし、これはうまくいきません。

編集

心配する必要はありません:

if(items[item].equals("Red")){
                    Intent red = new Intent(Menu.this,Red.class);
                    startActivity(red);
                }

これを行うより良い方法はありますか?

4

1 に答える 1

0

リッキー:

final CharSequence[] items = {"Red", "Green", "Blue"};

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("Pick a color");
    builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int item) {
          Intent color;
          switch(item){
          case 0:
           color = new Intent(Menu.this,Red.class);
          break;
          case 1:
           color = new Intent(Menu.this,Green.class);
          break;
          case 2:
           color = new Intent(Menu.this,Blue.class);
          break;
          default:
           color = null;
          break;
          }
          if(color!=null)startActivity(color);
        }
    });
    final AlertDialog alert = builder.create();

幸運を。

于 2012-01-13T13:07:57.293 に答える