2015-06-18 35 views
-1

有沒有辦法在for循環中添加EditText等對象(循環次數取決於用戶輸入)。如何在for循環中創建新的android視圖?

基本上,我希望程序根據用戶輸入的數字添加一定量的EditText。

我是新來的java和Android工作室,所以這段代碼可能是完全錯誤的,但也許有人可以幫助我。

public class ThirdActivity extends Activity { 

private static EditText NumberOfGarments; 
private static CheckBox GarmentChecker; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_third); 

    NumberOfGarments = (EditText) findViewById(R.id.number_of_garments); 
    final Integer NoOfGarments = Integer.parseInt(String.valueOf(NumberOfGarments)); //Convert string to int 
    GarmentChecker.setOnClickListener(
      new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        for (int GarmentCount = 1; GarmentCount <= NoOfGarments; GarmentCount++){ 
         //Not sure what to put here 
        } 
       } 
      } 
    ); 
} 

任何幫助深表感謝

+1

你的循環之外有一個'ArrayList',例如'EditText'對象。在你的for循環中,你可以創建你需要的許多,並將它們添加到你的ArrayList作爲後代。 – CubeJockey

+0

爲什麼是-1?這是一個非常有效的初學者問題。當人們是新的時候,應該期待一個問題的措詞不好。 –

回答

-2

外循環,你必須實例化對象,並創建對象的循環中的示例 -

Player[] players = new Player[10]; 
for(int i = 0; i < players.length; i++) { 
      players[i] = new Player(); 
} 
+0

如果OP需要超過10個'Player'對象會怎麼樣?如果他們只需要2個呢? – CubeJockey

+0

然後op應該使用list或arraylist –

+1

那麼這不是一個更好的解決方案嗎?只是提示如何改善你的答案:) – CubeJockey

0

在一個活動中,您可以通過編程創建一個EditText與此構造函數:

EditText editText = new EditText(this); //"this" must be an Activity 

然後,你必須把它加到交流作爲ViewGroup的子項目。

ViewGroup editTextsContainer = (ViewGroup)findViewViewById(R.id.editTextsContainer); 
editTextsContainer.addView(editText);