Java 以编程方式将一个LinearLayout附加到另一个LinearLayout中
我正在尝试创建一个活动,该活动将在LinearLayout中添加自定义视图。 我试图在sample_answer_view.xml中添加LinearLayout 下面是示例\u answer\u view.xml的代码Java 以编程方式将一个LinearLayout附加到另一个LinearLayout中,java,android,android-layout,Java,Android,Android Layout,我正在尝试创建一个活动,该活动将在LinearLayout中添加自定义视图。 我试图在sample_answer_view.xml中添加LinearLayout 下面是示例\u answer\u view.xml的代码 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-aut
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/answer_num_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="X)"
android:layout_margin="10dp"/>
<Button
android:id="@+id/answer_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="Button" />
如何在带有代码的线性布局中添加此视图(例如2次)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
使用添加在MainActivity.java中的java
因此,我试图创建一个应用程序,从数据库中获取可能的答案,但在从数据库中获取项目之前,可能的答案数量未知。假设这个问题有三个可能的答案。使用for循环,它将生成3项。这些项目将是一个按钮和一个文本视图,已添加到LinearLayout(它是sample_answer_view.xml中的代码)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/answer_num_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="X)"
android:layout_margin="10dp"/>
<Button
android:id="@+id/answer_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="Button" />
这些项目应添加到另一个线性布局的主活动中
提前感谢!尝试在您的
main活动中添加以下代码,并相应地进行调整
LinearLayout mainLayout = (LinearLayout)findViewById(R.id.yourmainlayout);
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemBox = inflater.inflate(R.layout.the_layout_you_want_to_add);
mainLayout.addView(itemBox);
如果要更改布局(主或项目框)的按钮文本
这是你需要的
在布局文件中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/root"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" />
在活动中
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_blank);
LinearLayout root = findViewById(R.id.root);
int numberOfAnswers = 3; //assume 3
for (int i = 0; i < numberOfAnswers; i++) {
View child = View.inflate(this, R.layout.item, null);
root.addView(child);
}
}
@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_blank);
LinearLayout root=findViewById(R.id.root);
int numberOfAnswers=3;//假设为3
for(int i=0;i
使用LinearLayout在另一个LinearLayout内部以编程方式显示什么
…使用屏幕截图或任何可能的细节进行描述..您想要实现什么?@Wini我在问题的末尾添加了解释。如果可能的答案数量未知,您必须使用RecyclerView,这是一种灵活的布局这将允许您在其中动态插入数据,将尝试这样做谢谢!谢谢您的回答,例如,如果我想更改将添加到主布局中的LinearLayout中的按钮和textview的文本,我该如何做?非常感谢!您真的很有帮助!
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_blank);
LinearLayout root = findViewById(R.id.root);
int numberOfAnswers = 3; //assume 3
for (int i = 0; i < numberOfAnswers; i++) {
View child = View.inflate(this, R.layout.item, null);
root.addView(child);
}
}