2012-10-31 204 views
1

在我的應用程序中,用戶輸入一個數字(在這種情況下,化學方程中的反應物數量,所以起始材料的數量)以及作爲結果的一些框,與用戶給出的數字相匹配的數量在按下按鈕之後被產生/產生/創建。動態添加EditText視圖到水平滾動視圖

我該如何去做這件事?我認爲for循環會起作用,所以我開始了。

這裏的Java類:

public class EquationBalancer extends Activity { 

    final EditText reactantNumberField = (EditText) findViewById(R.id.reactantsNumber); 
    final int reactantNom = Integer.parseInt(reactantNumberField.getText().toString()); 

    HorizontalScrollView reactants = (HorizontalScrollView) findViewById(R.id.reactants); 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.balancelayout); 

     Button setReactantsNo = (Button) findViewById(R.id.reactantsNumberOk); 
     setReactantsNo.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       for (int i = 1; i < reactantNom; i++) { 
       } 
      } 
     }); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.balancelayout, menu); 
     return true; 
    } 

} 

和XML佈局:

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <TextView 
     android:id="@+id/reactantsHowMany" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:paddingTop="10dp" 
     android:text="@string/reactantsHowMany" 
     android:textSize="18dp" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" /> 

    <EditText 
     android:id="@+id/reactantsNumber" 
     android:paddingTop="5dp" 
     android:layout_width="65dp" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/reactantsHowMany" 
     android:layout_marginLeft="60dp" 
     android:inputType="number" 
     android:hint="e.g. 4" /> 

    <Button 
     android:id="@+id/reactantsNumberOk" 
     android:paddingTop="5dp" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/reactantsHowMany" 
     android:layout_alignParentRight="true" 
     android:layout_marginRight="60dp" 
     android:layout_alignBottom="@id/reactantsNumber" 
     android:text="Set" /> 

    <HorizontalScrollView 
     android:id="@+id/reactants" 
     android:paddingTop="5dp" 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:layout_below="@id/reactantsNumber" > 

    </HorizontalScrollView> 

</RelativeLayout> 

回答

2
for (int i = 1; i < reactantNom; i++) { 
    EditText editText=new EditText(this); 
    editText.setText("some text if you want else remove this line"); 
    reactants.addView(editText); 
} 

,如果你想從這些獲得的數據的EditText一些別的地方在你的代碼,然後保持edittext數組並將這些edittext對象保存在該數組中..,。

試試這個..,。

+0

我很確定這正是我所尋找的。謝謝。現在只有一個關閉力量的問題。 – MiKenning

+0

強行關閉,但爲什麼..,。 – user1690588

+0

不是因爲這個。在我試圖解決這個問題之前有這個問題。我看了看,然後在清單中錯誤地宣佈了這個活動,並糾正了它,但它仍然無法正常工作。 – MiKenning