2012-03-07 19 views
0

ユーザーがクリックした内容を読み取ってボタン名と比較するこのコードを試してみると、2番目のコードではなく1つの配列で機能するようです。誰もが見ることができるならば、なぜ私にボタンをインテントにリンクできません

 case R.id.new_button: 
     final CharSequence[] items = {"N", "E", "M", "G"}; 

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

      if ("N".equals(items[0])) 
      {Intent intent = new Intent(); 
      Intent i0 = new Intent(B.this, Test1.class); 

      startActivity(i0);} 
      else if ("M".equals(items[2])) 
      {Intent intent = new Intent(); 
      Intent i2 = new Intent(Brain.this, Test2.class); 

      startActivity(i2);;} 


     } 

     }).show(); 
     AlertDialog alert = builder.create(); 
+0

これは、C#とどのように関係しますか? – svick

+0

なぜbuilder.setItems()でshowを呼び出しますか? –

答えて

0

編集を助けてくださいおっとごめん、私はあなたが第二の部分を打つことは決してありません、間違ったことは、あなたのコードは今のように私はあなたのコード

を再チェックしてみましょう見ましたif文は "N"が常にitems [0]に等しいためです。だから、他は決して実行されません。

これは動作するはずです:

if ("N".equals(items[item])) 
{ 
    Intent intent = new Intent(); 
    Intent i0 = new Intent(Brain.this, CropImageActivity.class); 
    startActivity(i0); 
} 
else if ("M".equals(items[item])) 
{ 
    Intent intent = new Intent(); 
    Intent i2 = new Intent(Brain.this, Test2.class); 
    startActivity(i2); 
} 
+0

それほどうまくいきませんでした。 – Hashey100

関連する問題