Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.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 Android:以编程方式添加两个文本视图_Java_Android_Android Linearlayout - Fatal编程技术网

Java Android:以编程方式添加两个文本视图

Java Android:以编程方式添加两个文本视图,java,android,android-linearlayout,Java,Android,Android Linearlayout,我试图以编程方式将视图添加到线性布局中 LinearLayout layout = (LinearLayout) findViewById(R.id.info); String [] informations = topOffer.getInformations(); TextView informationView; View line = new View(this); line.setLayoutParams(new LayoutParam

我试图以编程方式将视图添加到线性布局中

    LinearLayout layout     = (LinearLayout) findViewById(R.id.info);
    String [] informations  = topOffer.getInformations();
    TextView informationView;
    View line = new View(this);
    line.setLayoutParams(new LayoutParams(1, LayoutParams.FILL_PARENT));
    line.setBackgroundColor(R.color.solid_history_grey);
    for (int i = 0; i < informations.length; i++) {
        informationView = new TextView(this);
        informationView.setText(informations[i]);
        layout.addView(informationView, 0);
        layout.addView(line, 1);
    }
LinearLayout布局=(LinearLayout)findViewById(R.id.info);
字符串[]informations=topOffer.getInformations();
文本视图信息视图;
视图线=新视图(该视图);
line.setLayoutParams(新的LayoutParams(1,LayoutParams.FILL_父项));
线条.背景颜色(R.颜色.纯色\历史色\灰色);
对于(int i=0;i
首先,我只添加了informationsView,一切正常。Butt同时添加线视图后,它崩溃,出现以下错误:

java.lang.IllegalStateException:指定的子级已具有父级。必须首先对子级的父级调用removeView()

所以我尝试了addView(视图v,int-index),但它崩溃了,出现了相同的消息

有人有办法吗

谢谢,
Martin

不能在同一父视图中多次添加同一子视图。
每次都需要创建一个新视图或膨胀一个新视图。

正如gpmoo7所说,每次循环中都需要创建一个新视图

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.linear);

    LinearLayout layout = (LinearLayout) findViewById(R.id.linear);

    String[] informations = new String[] { "one", "two", "three" };
    TextView informationView;

    for (int i = 0; i < informations.length; i++) {
        View line = new View(this);
        line.setLayoutParams(new LayoutParams(1, LayoutParams.MATCH_PARENT));
        line.setBackgroundColor(0xAA345556);
        informationView = new TextView(this);
        informationView.setText(informations[i]);
        layout.addView(informationView, 0);
        layout.addView(line, 1);
    }

}
@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.linear);
LinearLayout布局=(LinearLayout)findViewById(R.id.linear);
字符串[]信息=新字符串[]{“一”、“二”、“三”};
文本视图信息视图;
对于(int i=0;i