2017-07-10 6 views
1

私は動的にように、複数のEditTextとTextViewsを追加しました:複数のEditTextのIDを動的に追加する方法は?

final String[] meses = new String[]{"Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"}; 

    for(int i=0; i<meses.length; i++){ 

     LinearLayout layout = new LinearLayout(getContext()); 
     layout.setOrientation(LinearLayout.HORIZONTAL); 
     layout.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); 

     TextView textview = new TextView(getContext()); 
     ViewGroup.LayoutParams lparams = new TableLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT, 1f); 
     textview.setLayoutParams(lparams); 
     textview.setText(meses[i]); 
     layout.addView(textview); 

     EditText ed = new EditText(getContext()); 
     ed.setLayoutParams(lparams); 
     ed.setId(i); 

     layout.addView(ed); 
     llMes.addView(layout); 

    } 

しかし、今、私は私がこれ持って、どのように私はそれを取得することができ、それぞれのEditTextの値を取得する必要があります。

for(int i=0; i < meses.length; i++){ 
       EditText et = null; 
       et.getId(); 
       pago = quotas - Integer.parseInt(et.getText().toString()); 
      } 

をとfindViewById(i)と試してみましたが失敗しました。

私を助けてくれてありがとう!

+1

[link](http://www.androhub.com/android-creating-layouts-programatically/)を確認してください。 –

答えて

2

EditTextをArrayListに追加し、それをインデックスで取得します。

//Arraylist that will contain EditTexts 
ArrayList<EditText> list = new ArrayList<>(); 

     // for each EditText add it to the ArrayList 
     for(int i=0; i < 10; i++){ 
      EditText et = new EditText(); 
      list.add(et); 
     } 

//To retrieve EditText 
EditText et = list.get(0); 
関連する問題