2012-01-26 12 views
0

インテントでデータを渡す方法についてオンラインで多くのチュートリアルがありますが、私が見つけたのは些細なことです(つまり、インテント自体にテキスト文字列を作成するだけです) (例えば、view.getText())OnClickListenerを使用してインテントに変数を渡す方法

しかし、私は、新しいアクティビティに渡す特定のビューに変数データを添付しません。 )混同しないように、私はいくつかのコードを削除したが、ループは、ボタンのリストを設定します:

for (int i=0; i<menuorder.length; i++){ 
     . 
     . 
     String itemName = menuorder[i]; 

     btn.setOnClickListener(new OnClickListener(){ 

     // @Override 
      public void onClick(View v) { 
      // TODO Auto-generated method stub 
       Intent i = new Intent(ShowSchool.this, DisplayContent.class); 
       i.setAction(Intent.ACTION_VIEW); 

       i.putExtra("itemName", itemName); 
       startActivity(i); 

      }  
       }); 

itemNameに任意の文字列変数を指定でき、ビュー自体の属性であることではありません

それはOnCLickListenerの外で定義されているので、それはputExtra 'メソッドで設定することができるように、私はテントの中にitemNameに渡すことができどのようにonClickの

内部で使用することはできませんか?

+0

最終的に変数を宣言してください! –

+0

ありがとう、それは動作します! – Mitch

答えて

2

itemNameを最終変数として定義すると、匿名クラスに渡すことができます。

final String itemName = menuorder[i]; 
... 
    i.putExtra("itemName", itemName); 
... 

- それはあなたのために働くでしょう。

+0

それはうまくいった。 LOL、私はそれを全日で過ごしました。どうもありがとう! – Mitch

関連する問題