나는 PreferenceScreen을 가지고 있으며, PreferenceCategory를 동적으로 만들고이 카테고리에서 레이아웃을 newCategory.setLayoutResource(<PackageName>.R.Layout.myLayout);
으로 설정합니다. 레이아웃은 TextView와 버튼 두 개입니다. 이 TextViews의 텍스트를 변경하려고 시도하면 TextView tvTextView = (TextView) findViewById(<PackageName>.R.id.tvTextView);
tvTextView.setText("Test");
이 java.lang.NullPointerException
이됩니다. 도대체 무슨 일이 일어나고 있는지 전혀 모르겠다. 나는 머리카락을 꺼내고있다. 내가 얻지 못하는 것은 아주 단순한 것이 틀림 없다.NullPointerException PreferenceScreen 안드로이드에서
로그 고양이 :이 나는 오류가 분명히 일어나고있는 곳이있어, = S
12-16 23:25:23.450: E/AndroidRuntime(5412): FATAL EXCEPTION: main
12-16 23:25:23.450: E/AndroidRuntime(5412): java.lang.NullPointerException
12-16 23:25:23.450: E/AndroidRuntime(5412): at <PackageName>.GpsLocation$2.onClick(GpsLocation.java:190)
12-16 23:25:23.450: E/AndroidRuntime(5412): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:158)
12-16 23:25:23.450: E/AndroidRuntime(5412): at android.os.Handler.dispatchMessage(Handler.java:99)
12-16 23:25:23.450: E/AndroidRuntime(5412): at android.os.Looper.loop(Looper.java:144)
12-16 23:25:23.450: E/AndroidRuntime(5412): at android.app.ActivityThread.main(ActivityThread.java:4937)
12-16 23:25:23.450: E/AndroidRuntime(5412): at java.lang.reflect.Method.invokeNative(Native Method)
12-16 23:25:23.450: E/AndroidRuntime(5412): at java.lang.reflect.Method.invoke(Method.java:521)
12-16 23:25:23.450: E/AndroidRuntime(5412): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
12-16 23:25:23.450: E/AndroidRuntime(5412): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
12-16 23:25:23.450: E/AndroidRuntime(5412): at dalvik.system.NativeStart.main(Native Method)
라인 (190)이 tvTextView.setText("Test");
복사하는 것을 의미하고 올바른 물건 바랍니다.
LogCat (스택 추적)을 게시하십시오. 또한 왜 "long"버전 ('.R ....')을 사용하고 있는데 R을 사용하는 것이 좋을까요? –
그 이유는 R.id를 입력하고 "."을 누를 때 ID의 드롭 다운에서 (R.id.Views)를 사용하기 때문입니다. 내 Views는 S가 아니지만 "긴"버전은 Views가 있습니다. – user959631
실수로 다른 R 파일을 가져 오시겠습니까? – Sam