-2

我必须在带有数组项的 android textview 上显示类别名称。这里的总类别大小为 5。

我写了以下代码:

for (int i = 0; i < sitesList.getName().size(); i++) {
name[] = (TextView) findViewById(R.id.title);
name[].setText(sitesList.getCategory().get(i).toUpperCase());

现在我必须运行该应用程序,这意味着我只能获得最后一个(第 5 个)类别名称。但我希望显示所有(总计 = 5)个类别。

 for (int i = 0; i < sitesList.getName().size(); i++) {
 name[i] = (TextView) findViewById(R.id.title);
 name[i].setText(sitesList.getCategory().get(i).toUpperCase());

现在我必须运行应用程序意味着我的应用程序被强制关闭。我该如何解决这些错误???请给我解决这些?

我的控制台窗口显示:

03-12 06:36:08.789: E/AndroidRuntime(886): Caused by: java.lang.NullPointerException
03-12 06:36:08.789: E/AndroidRuntime(886):  at  com.xmlparsing.MainActivity.onCreate(MainActivity.java:72)
03-12 06:36:08.789: E/AndroidRuntime(886):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)

在我的代码第 72 行是:

    name[i] = (TextView) findViewById(R.id.title);

但是我必须以编程方式创建文本视图,这意味着它运行良好并很好地显示了所有(总计 = 5)类别。

4

1 回答 1

0

可能不是答案,但它可能会帮助你找到正确的方向,或者至少让你澄清你的意图。

根据NullPointerException堆栈中的 ,唯一可能导致该行出现此类异常的是name[i],我猜您没有name正确创建该属性。

TextView [] name = new TextView[5];

尽管如此,似乎有更好的方法来做你想要实现的目标。在您的代码中,您尝试在循环的每次迭代中访问相同的 TextView 的文本并将其设置为一个新值,因此相同的 TextView 的文本将始终是最后一个sitesList.getCategory().get(i)值。

于 2013-03-12T18:22:48.063 回答