我试图将一个字符分配到一个文本视图数组时遇到了这个问题
counter是我通过读取文本文件中的字符数得到的计数
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]);
}
Run Code Online (Sandbox Code Playgroud)
在此之后,当我尝试运行应用程序时,应用程序只是强制关闭..我不知道如何调试它
我的应用程序需要将1个字符设置为1个文本视图
您尚未正确初始化TextView.这就是为什么你得到nullpointerexception.您必须按如下方式初始化TextView:
tv[i] = new TextView(this);
Run Code Online (Sandbox Code Playgroud)
这是您的Activity实例.
而你的问题则存在问题
setContentView(tv[i]);
Run Code Online (Sandbox Code Playgroud)
如果您使用此代码,则在屏幕中您将只看到最后一个文本视图.
要查看所有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);
Run Code Online (Sandbox Code Playgroud)
希望它会对你有所帮助.
| 归档时间: |
|
| 查看次数: |
4465 次 |
| 最近记录: |