克隆文本视图以将其追加到视图组

2022-09-04 08:37:36

我有一个用XML定义的ViewGroup,里面有一个视图,在onCreate的时候,我希望有一个变量。
我不想经历使用listview+adapter的麻烦,因为它显然有些过分,因为我知道列表不会改变,因为onCreate()
这或多或少是我想要的代码。

TextView mytextview = myViewGroup.findViewById(R.id.mytext);

for(String test : strings){
  mytextview = mytextview.clone();
  mytextview.setText(test);
  myViewGroup.addView(mytextview);
}

但它不起作用。


答案 1

也许使用膨胀机,并将文本视图放在外部布局文件中:

View v = LayoutInflater.from(this).inflate(R.layout.textview_include, null);
viewGroup.addView(v);

答案 2

使用Mathias Lin的代码并使用javahead76中的提示:

LinearLayout x = (LinearLayout) findViewById(R.id.container); 

    for (int i = 0; i < 5; i++) {
        View c = LayoutInflater.from(this).inflate(R.layout.singlerow, x);  
        TextView t = ((TextView)findViewById(R.id.textView1));
        t.setId(i+10000);
        t.setText("text"+i);            
    }
    TextView b = (TextView) findViewById(10003);
    b.setText("10003");

推荐