2013-02-15 74 views
0

我的應用程序計算動態添加元素數量包括一個按鈕,動態地添加EditText上盒上每一次點擊。我打算做的是設置一個ID的添加盒各一個。我正在使用setId()方法執行此操作。但我無法引用新添加的框。是否可以設置使用任何的循環然後通過該ID號參考ID?我的代碼如下:android系統

super.onCreate(savedInstanceState); 
    setContentView(R.layout.time_table); 
    l1 = (LinearLayout) findViewById(R.id.linear1); 
    edit = (EditText) findViewById(R.id.editText1); 
    // tv = (TextView)findViewById(R.id.textView1); 
    b1 = (Button) findViewById(R.id.button1); 
    b2 = (Button) findViewById(R.id.button2); 

    b1.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 

      int i = 0; 
      ed = new EditText(Table.this); 
      l1.addView(ed); 
      ed.setHint("Column Name"); 
      ed.setId(i); 
      i++; 
      int n = ed.getId(); 
      EditText editn = (EditText) findViewById(n); 
      editn.setText("new item"); 
     } 
    }); 
+2

您聲明你的變量'i'的'onclick'方法裏面,這樣所有的編輯框將有ID爲0聲明的變量'i'作爲類變量可能會解決這個問題......之前也嘗試設置ID將其添加到佈局... – 2013-02-15 10:24:12

回答

1

只要有一個計數變量:

int count = 100; 
每次創建視圖時

setId(count + 1);

得到最後視圖R.id.count,同樣別人。

更優雅soultion是:

您設定的ID時,都會存儲在ID一個ArrayList。