Android Twitter OAuth上的Java.Lang.NullPointer异常错误

Android Twitter OAuth上的Java.Lang.NullPointer异常错误,android,twitter,oauth,nullpointerexception,Android,Twitter,Oauth,Nullpointerexception,我有一些问题,我想让我的应用程序OAuth与twitter帐户 这是我的Main.xml文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_p

我有一些问题,我想让我的应用程序OAuth与twitter帐户

这是我的Main.xml文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:padding="@dimen/padding_medium"
        android:text="@string/hello_world"
        tools:context=".MainActivity" />

    <ImageButton
        android:id="@+id/btnTwitterConnect"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView1"
        android:layout_centerHorizontal="true"
        android:background="@drawable/standard_twitter"
        android:contentDescription="@string/twitter_btn_description"
        android:gravity="center" />

</RelativeLayout>
我只是在这里学习了教程:

但是android应用程序总是崩溃

LogCat详细信息:

09-08 19:11:13.754: D/AndroidRuntime(566): Shutting down VM
09-08 19:11:13.754: W/dalvikvm(566): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
09-08 19:11:13.785: E/AndroidRuntime(566): FATAL EXCEPTION: main
09-08 19:11:13.785: E/AndroidRuntime(566): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test.twitteroauth/com.test.twitteroauth.MainActivity}: java.lang.NullPointerException
09-08 19:11:13.785: E/AndroidRuntime(566):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
09-08 19:11:13.785: E/AndroidRuntime(566):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
09-08 19:11:13.785: E/AndroidRuntime(566):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
09-08 19:11:13.785: E/AndroidRuntime(566):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
09-08 19:11:13.785: E/AndroidRuntime(566):  at android.os.Handler.dispatchMessage(Handler.java:99)
09-08 19:11:13.785: E/AndroidRuntime(566):  at android.os.Looper.loop(Looper.java:123)
09-08 19:11:13.785: E/AndroidRuntime(566):  at android.app.ActivityThread.main(ActivityThread.java:4627)
09-08 19:11:13.785: E/AndroidRuntime(566):  at java.lang.reflect.Method.invokeNative(Native Method)
09-08 19:11:13.785: E/AndroidRuntime(566):  at java.lang.reflect.Method.invoke(Method.java:521)
09-08 19:11:13.785: E/AndroidRuntime(566):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
09-08 19:11:13.785: E/AndroidRuntime(566):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
09-08 19:11:13.785: E/AndroidRuntime(566):  at dalvik.system.NativeStart.main(Native Method)
09-08 19:11:13.785: E/AndroidRuntime(566): Caused by: java.lang.NullPointerException
09-08 19:11:13.785: E/AndroidRuntime(566):  at com.test.twitteroauth.MainActivity.onCreate(MainActivity.java:44)
09-08 19:11:13.785: E/AndroidRuntime(566):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-08 19:11:13.785: E/AndroidRuntime(566):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
09-08 19:11:13.785: E/AndroidRuntime(566):  ... 11 more
我知道这是由java.Lang.NullPointerException引起的,但错误在哪里

多谢各位


(Android 2.2、Eclipse 3.7、Java JDK 1.7)

请在
ImageButton btnTwitterConnect=(ImageButton)findViewById(R.id.btnTwitterConnect)之前添加
setcontentview(R.layout.main)
,它将解决您的问题。

请在
ImageButton btnTwitterConnect=(ImageButton)findViewById(R.id.btnTwitterConnect)之前添加
setcontentview(R.layout.main)
,它将解决您的问题。

您需要调用
setContentView(layoutID)
并在调用
findviewbyd(viewId)
之前传递按钮所属的布局,然后再调用
setContentView(layoutID)
并在调用
findviewbyd(vieid)之前传递按钮所属的布局

除了
setContentView(…)
之外,还应该调用
super.onCreate(savedInstanceState)在它上面,否则您将得到一个
SuperNotCalledException

@Override
public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(...);

   // ...

}

除了
setContentView(…)
,还应该调用
super.onCreate(savedInstanceState)在它上面,否则您将得到一个
SuperNotCalledException

@Override
public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(...);

   // ...

}

在ImageButton btnTwitterConnect=(ImageButton)findViewById(R.id.btnTwitterConnect)上放置断点;看看这是不是真的null@user1378730我设置了断点,它显示btnTwitterConnect总是空的。如何解决此问题?在ImageButton btnTwitterConnect=(ImageButton)findViewById(R.id.btnTwitterConnect)上设置断点;看看这是不是真的null@user1378730我设置了断点,它显示btnTwitterConnect总是空的。如何解决这个问题?嗨@Keshariya,谢谢你的回答,我会先试试这个。嗨@Keshariya,谢谢你的回答,我会先试试这个。好的接球,不敢相信我错过了那个好的接球,不敢相信我错过了那个