膨胀android后动态命名textview

膨胀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 =

我在滚动视图中多次膨胀4个线性布局。每个版面的标题中都有一个标题。下面给出了代码片段

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个优秀资源/教程: 列表视图:
适配器:

可能所有版面中的TextView
android: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);