Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 以编程方式将一个LinearLayout附加到另一个LinearLayout中_Java_Android_Android Layout - Fatal编程技术网

Java 以编程方式将一个LinearLayout附加到另一个LinearLayout中

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中添加自定义视图。 我试图在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-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);
    }
}