2015-09-27 31 views
1

我正在嘗試創建radioButtons。事情是我想創建的radioButton的數量是可變的。因此,我應該在我的android項目的java代碼(而不是xml)中實現他們的創建。 我的問題是我不知道我應該如何將這些radioButtons添加到用戶界面。Android:在運行時在java代碼中創建radioButtons

for(int i=0; i< quizQuestion.getAnswers().size(); i++){ 
     radioButtons[i] = new RadioButton(this); 
     rb[i].setText(quizQuestion.getAnswers().get(i)); 

     //How do I add this to the UI? 
} 

謝謝。

+0

你有任何代碼,您能告訴我們?你試過什麼了? – emerssso

+0

我剛剛創建了收音機按鈕 –

+0

你的意思是你找到了解決你的問題的辦法?請分享代碼,以便其他人可以從中受益。 –

回答

0

一個簡單的例子。我希望有所幫助。

MainActivity.java

public class MainActivity extends AppCompatActivity { 

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

     //// 

     LinearLayout radioPanel= (LinearLayout) findViewById(R.id.radioPanel); 

     for (int i = 0; i < 3; i++) { 
      RadioButton radioButton=new RadioButton(this); 

      radioButton.setSelected(false); 

      radioButton.setLeft(16); 
      radioButton.setRight(16); 

      radioButton.setText("RadioButton "+ i); 

      //Here you add these radioButton to the UI 
      radioPanel.addView(radioButton); 
     } 


     //// 

    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.menu_main, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle action bar item clicks here. The action bar will 
     // automatically handle clicks on the Home/Up button, so long 
     // as you specify a parent activity in AndroidManifest.xml. 
     int id = item.getItemId(); 

     //noinspection SimplifiableIfStatement 
     if (id == R.id.action_settings) { 
      return true; 
     } 

     return super.onOptionsItemSelected(item); 
    } 
} 

activity_main.xml中

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
<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" android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:id="@+id/contentPanel" 
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> 







<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="New Button" 
    android:id="@+id/button" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" /> 



<!--For RadioButton Content Area. (LinearLayout)--> 

<!--You can use other layouts. This is just one example.--> 

<LinearLayout 
    android:id="@+id/radioPanel" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="200dp" 
    android:layout_below="@+id/button" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true"> 

</LinearLayout> 




<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/radioPanel" 
    android:text="New Button 2" 

    /> 

相關問題