将文本数组设置为textview数组

时间:2011-02-22 07:07:38

标签: android

我在尝试将字符分配到文本视图数组时遇到了这个问题

计数器是我通过读取文本文件中的字符数得到的计数

            TextView[] tv = new TextView[counter];

        for (int i = 0; i < counter; i++)
        {
            tv[i].setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
            tv[i].setText(singleText[i]); 
            setContentView(tv[i]); 
        }

在此之后,当我尝试运行应用程序时,应用程序只是强行关闭..我不知道如何调试它

我的应用程序需要将1个字符设置为1个文本视图

2 个答案:

答案 0 :(得分:5)

您尚未正确初始化TextView。这就是为什么你得到nullpointerexception。您必须按如下方式初始化TextView:

tv[i] = new TextView(this);

这是您的Activity实例。

你的

有问题
setContentView(tv[i]);

如果您使用此代码,则在屏幕中您将只看到最后一个文本视图。

要查看所有TextView,您必须在LinearLayout等容器中添加所有TextView。然后,您将容器设置为内容View。

以下是您可以使用的代码:

LinearLayout linearLayout = new LinearLayout(this);
linearLayout.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,              
        LayoutParams.WRAP_CONTENT));
TextView[] tv = new TextView[counter];

for (int i = 0; i < counter; i++)
{
        tv[i] = new TextView(this);
        tv[i].setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,              
            LayoutParams.WRAP_CONTENT)); 
        tv[i].setText(singleText[i]); 
        linearLayout.addView(tv[i]); 
}
setContentView(linearLayout);

希望它会对你有所帮助。

答案 1 :(得分:1)

TextView [] tv = new TextView [counter]; 在这里创建填充空引用的数组。当然它会在这里崩溃tv [i] .setLayoutParams()与空指针异常