gpt4 book ai didi

java - Android:在运行时在java代码中创建radioButtons

转载 作者:太空宇宙 更新时间:2023-11-04 13:24:09 24 4
gpt4 key购买 nike

我正在尝试创建单选按钮。问题是我想要创建的单选按钮的数量是可变的。因此,我应该在我的 android 项目的 java 代码中(而不是在 xml 中)实现它们的创建。我的问题是我不确定如何将这些单选按钮添加到 UI。

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?
}

谢谢。

最佳答案

一个简单的例子。我希望这会有所帮助。

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"

/>

关于java - Android:在运行时在java代码中创建radioButtons,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32811467/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com