2017-01-29 5 views
-3
for(int i=1;i<=3;i++) 
      { 
      String my_id="Ezequiel_1_"+i; 
     final TextView modelTextview = (TextView) findViewById(R.id.my_id); 
     modelTextview.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       the_controller.buttonController(v); 
      } 
     }); 
    } 

前の方法でmyidを配置していますが、メソッドを1つずつ設定する必要はありません。それを繰り返すことは可能ですか?次のようにしてid文字列を反復処理できますか?

+0

文字列からIDを取得する方法はありますか?使用して検索、質問bazillion回尋ねた...オフトピックのコメントレイアウトではなく、データベースにfxを格納しListView/RecyclerViewを使用する方が良いでしょう – Selvin

+0

バターナイフを使用します。 –

+0

ちょっとちょっと待て!私はいくつかの人々は、この男は、この男が尋ねた質問を読んでいないこのスレッドにアクセスして何をしているのか分からない。しかしそれは良い質問です。しかし、いくつかの人々がこのスレッドにアクセスして投票しているだけです。それは良くない。彼に投票してください。しかし、それでも良い質問です。 –

答えて

5

文字列がidsではないため、直接ではありません。あなたががやりたいことには2つの方法があります:

1)データが

for(int i=0; i<numView, i++) { 
    int resourceId = resources.getIdentifier("Ezequiel_1_"+i, "id", 
     context.getPackageName()); 
    TextView tv = (TextView) findViewById(id); 
    ... 
} 

をベースベース

int textViewIds[] = [R.id.Ezequiel_1_1, R.id.Ezequiel_1_2, R.id.Ezequiel_1_3,...] 
for(int id: textViewIds) { 
    TextView tv = (TextView) findViewById(id); 
    ... 
} 

2)氏名、それはあなたをオフに対して明確なコードと保護を与えるように私は方法1を好みます1エラー(コンパイルされません)。

+0

最初のコードのデータ構造の名前は何ですか? – TheMathNoob

+0

申し訳ありません、最初は配列です。私は角括弧がなくなっていた –

+0

それは完全に働いた。 – TheMathNoob

関連する問題