-2

android textview にカテゴリ名を配列 items.here で表示する必要があります。カテゴリの合計サイズは 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 に答える