2015-09-27 29 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" 

    /> 

相关问题