Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法从应用程序中的XML调用对象_Android_Xml_Textview - Fatal编程技术网

Android 无法从应用程序中的XML调用对象

Android 无法从应用程序中的XML调用对象,android,xml,textview,Android,Xml,Textview,在我的应用程序中,我似乎无法调用应用程序中的任何布局对象。如果我访问任何包含使用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); 这些代

在我的应用程序中,我似乎无法调用应用程序中的任何布局对象。如果我访问任何包含使用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);
这些代码行以前已经工作过,它们所称的布局文件已经存在

这方面的日志在下面,看着它,我看不出问题是从哪里来的。特别是因为此代码在前几天起作用

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
好的,所以通过给出的解决方案来看,共识似乎是第67行的空指针异常,但这是我上面给出的第一行。给出的另一个解决方案是使用setContent(视图),这是我在onCreate方法开始时所做的


当上面给出的行不存在并且它们以前工作过的时候,这个类工作得非常好,所以我不确定问题出在哪里

根据您的
活动
使用的内容,可能会有两件事出错。如果只是设置视图,您做了什么?否则,如果正在膨胀视图,则需要调用
view.findViewById(id)
。这样,它会在你刚刚膨胀的视图上调用它,否则它将找不到它


编辑:一个简短的提示,我相信您需要在查找视图之前调用
setContentView(View View)
,因此
setContentView(View-View)
需要在调用
findViewById(id)
之前,如果您这样做的话。

取决于您的
活动所使用的内容,有几件事可能是错的。如果只是设置视图,您做了什么?否则,如果正在膨胀视图,则需要调用
view.findViewById(id)
。这样,它会在你刚刚膨胀的视图上调用它,否则它将找不到它


编辑:一个简短的提示,我认为在查找视图之前需要调用
setContentView(View-View)
,因此
setContentView(View-View)
需要在调用
findViewById(id)
之前,如果您这样做的话。

问题似乎出在
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)

问题似乎出现在
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)

您是否清理了项目并重新构建?有时Eclipse很糟糕。WorkoutChoice.java的第67行是什么?05-23 16:12:43.790:E/AndroidRuntime(313):由:java.lang.NullPointerException 05-23 16:12:43.790:E/AndroidRuntime(313):在com.b00348312.workout.WorkoutChoice.onCreate(WorkoutChoice.java:67)引起,如在@compuguru-answer中,您需要调用setContentView()在解析任何视图之前使用的布局。是否清理项目并重新生成?有时Eclipse很糟糕。WorkoutChoice.java的第67行是什么?05-23 16:12:43.790:E/AndroidRuntime(313):由:java.lang.NullPointerException 05-23 16:12:43.790:E/AndroidRuntime(313):在com.b00348312.workout.WorkoutChoice.onCreate(WorkoutChoice.java:67)引起,如在@compuguru-answer中,您需要调用setContentView()在解析任何视图之前使用的布局。