2014-01-10 45 views
1

在主要活动了java.lang.RuntimeException:无法启动活动显示java.lang.NullPointerException

@Override 
      protected void onCreate(Bundle savedInstanceState) { 
       super.onCreate(savedInstanceState); 
       setContentView(R.layout.welcome_page); 
       login=(Button) findViewById(R.id.bLogin); 
       register=(Button) findViewById(R.id.bRegister); 
       login.setOnClickListener(new OnClickListener() { 

        @Override 
        public void onClick(View arg0) { 
         // TODO Auto-generated method stub 
         Intent intent1 = new Intent(arg0.getContext(),Sign_In.class); 
         startActivity(intent1); 
        } 
       }); 
       register.setOnClickListener(new OnClickListener() { 

        @Override 
        public void onClick(View arg0) { 
         // TODO Auto-generated method stub 
         Intent intent2 = new Intent(arg0.getContext(),Register.class); 
         startActivity(intent2); 

        } 
       }); 
      } 


In Sign_In Activity: 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.sign_in); 
      Button blogin=(Button) findViewById(R.id.bLogin); 
      blogin.setOnClickListener(new OnClickListener() { 

       @Override 
       public void onClick(View arg0) { 
        // TODO Auto-generated method stub 
        Intent intent = new Intent(arg0.getContext(),MessegeBox.class); 
        startActivity(intent); 
       } 
      }); 
     } 

XML布局

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#FFFFFF" 
    android:layout_gravity="center" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="top" 
     android:layout_marginLeft="30dip" 
     android:layout_marginRight="30dip" 
     android:layout_marginTop="50dip" 
     android:background="#FFFFFF" 
     android:orientation="vertical" > 

     <EditText 
      android:id="@+id/phone_number" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="3dip" 
      android:gravity="center" 
      android:hint="Mobile Number" 
      android:inputType="phone" 
      android:maxLength="10" > 

      <requestFocus /> 
     </EditText> 

     <EditText 
      android:id="@+id/phone_number" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="3dip" 
      android:gravity="center" 
      android:hint="Invivation Pin (If Any)" 
      android:inputType="phone" 
      android:maxLength="10" /> 

     <Button 
      android:id="@+id/button1" 
      style="@style/ButtonText" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="3dip" 
      android:background="@drawable/blue_button" 
      android:text="LOGIN" /> 
    </LinearLayout> 

</LinearLayout> 

这里是日志猫

01-10 00:40:49.897: E/AndroidRuntime(1030): FATAL EXCEPTION: main 
01-10 00:40:49.897: E/AndroidRuntime(1030): java.lang.RuntimeException: Unable to start activity ComponentInfo{net.multiplesystem.nosms/net.multiplesystem.nosms.Sign_In}: java.lang.NullPointerException 
01-10 00:40:49.897: E/AndroidRuntime(1030):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211) 
01-10 00:40:49.897: E/AndroidRuntime(1030):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 
01-10 00:40:49.897: E/AndroidRuntime(1030):  at android.app.ActivityThread.access$600(ActivityThread.java:141) 
01-10 00:40:49.897: E/AndroidRuntime(1030):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 
01-10 00:40:49.897: E/AndroidRuntime(1030):  at android.os.Handler.dispatchMessage(Handler.java:99) 
01-10 00:40:49.897: E/AndroidRuntime(1030):  at android.os.Looper.loop(Looper.java:137) 
01-10 00:40:49.897: E/AndroidRuntime(1030):  at android.app.ActivityThread.main(ActivityThread.java:5103) 
01-10 00:40:49.897: E/AndroidRuntime(1030):  at java.lang.reflect.Method.invokeNative(Native Method) 
01-10 00:40:49.897: E/AndroidRuntime(1030):  at java.lang.reflect.Method.invoke(Method.java:525) 
01-10 00:40:49.897: E/AndroidRuntime(1030):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
01-10 00:40:49.897: E/AndroidRuntime(1030):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
01-10 00:40:49.897: E/AndroidRuntime(1030):  at dalvik.system.NativeStart.main(Native Method) 
01-10 00:40:49.897: E/AndroidRuntime(1030): Caused by: java.lang.NullPointerException 
01-10 00:40:49.897: E/AndroidRuntime(1030):  at net.multiplesystem.nosms.Sign_In.onCreate(Sign_In.java:18) 
01-10 00:40:49.897: E/AndroidRuntime(1030):  at android.app.Activity.performCreate(Activity.java:5133) 
01-10 00:40:49.897: E/AndroidRuntime(1030):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
01-10 00:40:49.897: E/AndroidRuntime(1030):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175) 
01-10 00:40:49.897: E/AndroidRuntime(1030):  ... 11 more 

当我点击主要活动的登录按钮时。它显示空指针异常。已经尝试了很多,但无法解决问题。请告诉我我错在哪里。提前Thanx。

+0

发布你的XML的sigin类这将是问题Button blogin =(Button)findViewById(R.id.bRegister); –

+0

使用此代码ImageButton blogin =(ImageButton)findViewById(R.id.imageButton1); –

+0

相反arg0.getContext()的使用MainActivity.this – jyomin

回答

3
Button blogin=(Button) findViewById(R.id.bRegister); 

我想你是在引用错误的按钮id。

您需要检查sign_in.xml中Button的编号。确保有按钮sign_in.xml并确保ID匹配时你在Java代码中引用

我想这应该是R.id.bLogin

编辑:

你有什么是

<Button 
     android:id="@+id/button1" 

所以改变

Button blogin=(Button) findViewById(R.id.bRegister); 

Button bLogin = (Button)findViewById(R.id.button1); 

而且你嵌套LinearLayout虽然没有错,你可以有一个LinearLayout

+0

先生,我已经更新了,但还是同样的问题 –

+0

@ user3118276后'sign_in.xml' – Raghunandan

+0

@ user3118276检查我的编辑职位 – Raghunandan

0
Intent intent1 = new Intent(getApplicationContext(),Sign_In.class); 
        startActivity(intent1); 
+1

这不会导致'NullPointerException' – Raghunandan

1

试试这个..

变化

Button blogin=(Button) findViewById(R.id.blogin); 

Button blogin=(Button) findViewById(R.id.button1); 
      blogin.setOnClickListener(new OnClickListener() { 

       @Override 
       public void onClick(View arg0) { 
        // TODO Auto-generated method stub 
        Intent intent = new Intent(Sign_In.this,MessegeBox.class); 
        startActivity(intent); 
       } 
      }); 
+0

没有必要更改为'意图intent =新意图(Sign_In.this,MessegeBox.class); ' – Raghunandan

+0

@Raghunandan我只是为了安全起见。这也会给出完美的结果。 – Hariharan

+0

关于'argo.getContext()'没有什么不安全的@ – Raghunandan

相关问题