膨胀android后动态命名textview
我在滚动视图中多次膨胀4个线性布局。每个版面的标题中都有一个标题。下面给出了代码片段膨胀android后动态命名textview,android,android-layout,scrollview,layout-inflater,Android,Android Layout,Scrollview,Layout Inflater,我在滚动视图中多次膨胀4个线性布局。每个版面的标题中都有一个标题。下面给出了代码片段 for(int j=0;j<qType.length;j++) { LinearLayout.LayoutParams siz = new LinearLayout.LayoutParams(width, height);; if(qType[j]==0) { view1 =
for(int j=0;j<qType.length;j++)
{
LinearLayout.LayoutParams siz = new LinearLayout.LayoutParams(width, height);;
if(qType[j]==0)
{
view1 = getLayoutInflater().inflate(R.layout.layout1, main_layout,false);
siz = new LinearLayout.LayoutParams(width, height/3);
}
else if(qType[j]==1)
{
view1 = getLayoutInflater().inflate(R.layout.layout3, main_layout,false);
siz = new LinearLayout.LayoutParams(width, height/3);
}
else if(qType[j]==2)
{
view1 = getLayoutInflater().inflate(R.layout.layout4, main_layout,false);
siz = new LinearLayout.LayoutParams(width, height/3);
}
else if(qType[j]==3)
{
view1 = getLayoutInflater().inflate(R.layout.layout5, main_layout,false);
siz = new LinearLayout.LayoutParams(width, height/2);
}
siz.topMargin = 25;
main_layout.addView(view1, siz);
}
scroll_layout.addView(main_layout);
scroll_layout.setBackgroundResource(R.drawable.options_background);
setContentView(scroll_layout);
for(int j=0;j免责声明:我觉得你是在尝试与Android框架对抗,而不是与之对抗。我的建议有点彻底检修,但我确实觉得这是正确的方式
我建议使用ListView,因为您要多次重复相同的格式。ListView通常有一个对象容器和一个适配器,负责将对象映射到ListView中的特定行。当您更改基础容器中的数据时,您将调用回调notifyDataSetChanged()
,用于通知适配器您更改了基础数据并提醒它更新listview
来自android开发者网站的2个优秀资源/教程:
列表视图:
适配器:可能所有版面中的TextViewandroid:id
都是相同的,因此解释了findViewById方法的行为总是返回第一个匹配项如果我是对的,那么main\u版面是xml文件中的名称视图。因此您应该这样使用
view1 = getLayoutInflater().inflate(R.layout.layout1, main_layout,false);
TextView tv = (TextView)main_layout.findViewById(R.id.tv1);
电视在layout1.xml中的哪个位置是texview您所指的TextView
在哪里,您在哪里调用setText()
?请粘贴您的TextView代码
view1 = getLayoutInflater().inflate(R.layout.layout1, main_layout,false);
TextView tv = (TextView)main_layout.findViewById(R.id.tv1);