0

私が望むのは、ユーザーが textview (q) 内の 1 つのテキストから移動するたびに、textview (nm) がユーザーの位置を示すことです。簡単に言えば、変数の値が変更されるたびに、その値を TexView (nm) のテキストに設定したいと考えています。しかし、ここではエラーが表示されます。

ボタンが機能しません。どうしたの?

ログキャット

04-01 19:54:55.901: E/AndroidRuntime(32078): FATAL EXCEPTION: main
04-01 19:54:55.901: E/AndroidRuntime(32078): java.lang.NullPointerException
04-01 19:54:55.901: E/AndroidRuntime(32078):    at com.dreamgoogle.gihf.Quotes$1.onClick(Quotes.java:43)
04-01 19:54:55.901: E/AndroidRuntime(32078):    at android.view.View.performClick(View.java:3524)
04-01 19:54:55.901: E/AndroidRuntime(32078):    at android.view.View$PerformClick.run(View.java:14194)
04-01 19:54:55.901: E/AndroidRuntime(32078):    at android.os.Handler.handleCallback(Handler.java:605)
04-01 19:54:55.901: E/AndroidRuntime(32078):    at android.os.Handler.dispatchMessage(Handler.java:92)
04-01 19:54:55.901: E/AndroidRuntime(32078):    at android.os.Looper.loop(Looper.java:137)
04-01 19:54:55.901: E/AndroidRuntime(32078):    at android.app.ActivityThread.main(ActivityThread.java:4476)
04-01 19:54:55.901: E/AndroidRuntime(32078):    at java.lang.reflect.Method.invokeNative(Native Method)
04-01 19:54:55.901: E/AndroidRuntime(32078):    at java.lang.reflect.Method.invoke(Method.java:511)
04-01 19:54:55.901: E/AndroidRuntime(32078):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:816)
04-01 19:54:55.901: E/AndroidRuntime(32078):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:583)
04-01 19:54:55.901: E/AndroidRuntime(32078):    at dalvik.system.NativeStart.main(Native Method)
4

4 に答える 4

0

問題は、変数を宣言したことです。しかし、それらを初期化するのを忘れています

ImageButton next;
ImageButton previous;
ImageButton copytext;
TextView q;
TextView nm;

これらのワイドゲットについては、それらを intalize する必要があります

例:previous=(ImageButton)findViewById(R.id.name_in_your_layout_xml);

または動的な場合

previous= new ImageButton(context);

これを行うのを忘れていると思います.それがNPEを示している理由です

編集:関数を使用してこれを設定onCreare() する場合は、それを呼び出しますあなたの場合、クリックイベントの前に呼び出す必要があります

これを与えるのを忘れた新しいコードで編集します

nm = (TextView) findViewById(R.id.your_id_layout_xml);
于 2013-04-01T14:42:40.813 に答える
0

ビューが適切に初期化されている場合、最も可能性が高いのは、文字列配列が null であることです。これを変える:

String[] str;

これとともに

String[] str = new String[]{"Hahahaha", "Woohoo!", "It's-a-me, Mario!", "Mamma mia!"};
于 2013-04-01T14:38:02.090 に答える