0

ScrollView があり、その中の LinearLayout に TextViews を追加しようとしていますが、エラーが発生し続けます。

TextView l = new TextView(StopWatch.this);
l.setText("Didn't work");
l.setTextSize(20);
llLocations.addView(l);

このコードを使用して、使用している ArrayList が空かどうかを確認しようとしていましたが、そうではありませんでした。エラーはNullPointerExceptionが原因であると言われています...

llLocations.addView(l);

同じことをする他のコードがあり、それらを比較しようとしましたが、違いはなかったので混乱しています。これを修正するにはどうすればよいですか?

07-10 21:14:42.687: E/AndroidRuntime(5241): FATAL EXCEPTION: main
07-10 21:14:42.687: E/AndroidRuntime(5241): java.lang.IllegalStateException: Could not execute method of the activity
07-10 21:14:42.687: E/AndroidRuntime(5241):     at android.view.View$1.onClick(View.java:3599)
07-10 21:14:42.687: E/AndroidRuntime(5241):     at android.view.View.performClick(View.java:4204)
07-10 21:14:42.687: E/AndroidRuntime(5241):     at android.view.View$PerformClick.run(View.java:17355)
07-10 21:14:42.687: E/AndroidRuntime(5241):     at android.os.Handler.handleCallback(Handler.java:725)
07-10 21:14:42.687: E/AndroidRuntime(5241):     at android.os.Handler.dispatchMessage(Handler.java:92)
07-10 21:14:42.687: E/AndroidRuntime(5241):     at android.os.Looper.loop(Looper.java:137)
07-10 21:14:42.687: E/AndroidRuntime(5241):     at android.app.ActivityThread.main(ActivityThread.java:5041)
07-10 21:14:42.687: E/AndroidRuntime(5241):     at java.lang.reflect.Method.invokeNative(Native Method)
07-10 21:14:42.687: E/AndroidRuntime(5241):     at java.lang.reflect.Method.invoke(Method.java:511)
07-10 21:14:42.687: E/AndroidRuntime(5241):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
07-10 21:14:42.687: E/AndroidRuntime(5241):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
07-10 21:14:42.687: E/AndroidRuntime(5241):     at dalvik.system.NativeStart.main(Native Method)
07-10 21:14:42.687: E/AndroidRuntime(5241): Caused by: java.lang.reflect.InvocationTargetException
07-10 21:14:42.687: E/AndroidRuntime(5241):     at java.lang.reflect.Method.invokeNative(Native Method)
07-10 21:14:42.687: E/AndroidRuntime(5241):     at java.lang.reflect.Method.invoke(Method.java:511)
07-10 21:14:42.687: E/AndroidRuntime(5241):     at android.view.View$1.onClick(View.java:3594)
07-10 21:14:42.687: E/AndroidRuntime(5241):     ... 11 more
07-10 21:14:42.687: E/AndroidRuntime(5241): Caused by: java.lang.NullPointerException
07-10 21:14:42.687: E/AndroidRuntime(5241):     at com.TBJsoft.runprogress.StopWatch.done(StopWatch.java:506)
07-10 21:14:42.687: E/AndroidRuntime(5241):     ... 14 more

StopWath.java:506 は

llLocations.addView(l);

ライン。

スクロール ビューを含むカスタム ビューを持つ警告ダイアログでこれを実行しようとしています。それが問題の原因になっていると思いますか?

4

4 に答える 4

2

llLocations無効です。を読んでくださいfindViewById。終わり。

于 2013-07-10T23:39:46.440 に答える
1

llLocations は null であるため、次のようなことをしたと思います。

LinearLayout llLocations = (LinearLayout)findViewById(R.id.<here_the_id_of_the_linearleayout_in_your_xml_layout>);

これを行い、id が正しい場合、linearlayout を含むこのレイアウトでアクティビティの ContentView を設定すると、動作するはずです。

于 2013-07-10T23:35:05.670 に答える
0

TextView通常、 を IDにバインドする必要があります。そのように:

example = findViewById(R.id.yourid);

あなた自身の知識のために、Rは値ファイルからAndroidによって動的に生成されます(IDはほとんどレイアウトファイルで割り当てられます)

于 2013-07-10T23:32:32.063 に答える