Невозможно вызвать объекты из XML в приложении

1

В моем приложении я, похоже, не могу назвать какие-либо объекты макета в своем приложении. приложение будет разбиваться, если я получаю доступ к любому классу, который включает в себя код, который использует XML файл. такие строки

mButton = (Button)findViewById(R.id.get);
cweight   = (EditText)findViewById(R.id.cweight);
nweight   = (EditText)findViewById(R.id.nweight);
t = (TextView)findViewById(R.id.out);

Эти строки кода работали до этого, и файлы макетов, которые они называются, существуют.

logcat для этого ниже и смотрит на него, я не вижу, откуда эта проблема. потому что этот код работает несколько дней назад.

05-23 16:12:43.790: E/AndroidRuntime(313): FATAL EXCEPTION: main
05-23 16:12:43.790: E/AndroidRuntime(313): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.b00348312.workout/com.b00348312.workout.WorkoutChoice}: java.lang.NullPointerException
05-23 16:12:43.790: E/AndroidRuntime(313):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
05-23 16:12:43.790: E/AndroidRuntime(313):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
05-23 16:12:43.790: E/AndroidRuntime(313):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
05-23 16:12:43.790: E/AndroidRuntime(313):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
05-23 16:12:43.790: E/AndroidRuntime(313):  at android.os.Handler.dispatchMessage(Handler.java:99)
05-23 16:12:43.790: E/AndroidRuntime(313):  at android.os.Looper.loop(Looper.java:123)
05-23 16:12:43.790: E/AndroidRuntime(313):  at android.app.ActivityThread.main(ActivityThread.java:4627)
05-23 16:12:43.790: E/AndroidRuntime(313):  at java.lang.reflect.Method.invokeNative(Native Method)
05-23 16:12:43.790: E/AndroidRuntime(313):  at java.lang.reflect.Method.invoke(Method.java:521)
05-23 16:12:43.790: E/AndroidRuntime(313):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
05-23 16:12:43.790: E/AndroidRuntime(313):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
05-23 16:12:43.790: E/AndroidRuntime(313):  at dalvik.system.NativeStart.main(Native Method)
05-23 16:12:43.790: E/AndroidRuntime(313): Caused by: java.lang.NullPointerException
05-23 16:12:43.790: E/AndroidRuntime(313):  at com.b00348312.workout.WorkoutChoice.onCreate(WorkoutChoice.java:67)
05-23 16:12:43.790: E/AndroidRuntime(313):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-23 16:12:43.790: E/AndroidRuntime(313):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
05-23 16:12:43.790: E/AndroidRuntime(313):  ... 11 more

ok, так что просматривайте решения, учитывая, что консенсус, по-видимому, состоит в том, что его исключение нулевого указателя в строке 67, но это первая строка, указанная выше. другие предлагаемые решения - использовать setContent (представление вида), которые я сделал в начале моего метода onCreate.

класс отлично работает, когда строки, указанные выше, отсутствуют, и они работали до этого, поэтому я не уверен, где проблема.

  • 1
    Вы очистили свой проект и построили снова? Иногда Затмение отстой.
  • 0
    Что такое строка 67 WorkoutChoice.java?
Показать ещё 2 комментария
Теги:
textview

2 ответа

1
Лучший ответ

В зависимости от того, что использует ваша Activity, есть пара вещей, которые могут быть неправильными. Вы сделали setContentView(View view) если вы просто устанавливаете представление? В противном случае, если вы раздуваете представление, вам нужно вызвать view.findViewById(id). Таким образом, он вызывает это на вид, который вы просто завыли, иначе он его не найдет.

EDIT: Я бы setContentView(View view), что вам нужно вызвать setContentView(View view) перед тем, как сделать поиск, поэтому setContentView(View view) должен быть до того, как вы findViewById(id) если вы так поступаете.

0

Похоже, проблема WorkoutChoice, строка 67. Вы используете объект, значение которого равно null:

05-23 16:12:43.790: E/AndroidRuntime(313): Caused by: java.lang.NullPointerException
05-23 16:12:43.790: E/AndroidRuntime(313):  at com.b00348312.workout.WorkoutChoice.onCreate(WorkoutChoice.java:67)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню