2011-05-06 2 views
0

두 가지 버튼, 로그인 용 및 페이스 북을 사용하여 로그인하는 클래스가 생성됩니다. 그러나 때로는이 문제가 발생합니다. 그것은 지금 두 번이나 그렇게했으며, 마지막으로 나타나기 시작하면서 신비스럽게 사라졌습니다. 나는이 파일을 작업하지 않고 갑자기 문제가 발생했다. 문제가 없었던 때부터 변경되지 않았습니다.ComponentInfo가있는 NullPointerException이 사라지고 다시 임의로 다시 나타납니다.

기본적으로 응용 프로그램은 buttonLogIn.setOnClickListener 행인 55 행 주위에 null 포인터 예외를 발생시켜 버튼이 생성되지 않음을 나타냅니다. 나는 웹에서 몇 가지 유사한 문제를 조사했지만, 대부분은 super.onCreate() 및 setContentView() 메소드가 생성 된 첫 번째 것이되어야한다는 사실을 깨닫는 것으로 해결되었다. 나는 이미 이것을한다.

이 클래스가 생성되어 다음에서 onCreate 및 필드가됩니다 :

 <Button android:id="@+id/login" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/password" 
      android:layout_alignParentRight="true" 
      android:layout_marginLeft="10px" 
      android:text="Log In" /> 
     <Button android:id="@+id/facebook" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/login" 
      android:layout_alignParentRight="true" 
      android:text="Use Facebook Log In"/> 

그리고 내 스택 추적은 다음과 같습니다 : 나는 두 개의 버튼과 같이 내 XML 선언이

private Button buttonLogIn; 
private Button buttonFacebookLogIn; 
private EditText usernameText; 
private EditText passwordText; 
private SharedPreferences p; 


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

    p = PreferenceManager.getDefaultSharedPreferences(ThisClass.this); 

    Integer storedID = p.getInt("id", 0); 
    String storedUsername = p.getString("username", ""); 
    String storedPassword = p.getString("password", ""); 

    if(storedUsername != null && !storedUsername.equalsIgnoreCase("") && storedPassword != null && !storedPassword.equalsIgnoreCase("") && storedID != null && storedID != 0){ 
     startHomeActivity(storedID); 
    } 

    buttonLogIn = (Button) findViewById(R.id.login); 
    buttonLogIn.setOnClickListener(this); 

    buttonFacebookLogIn = (Button) findViewById(R.id.facebook); 
    buttonFacebookLogIn.setOnClickListener(this); 

    usernameText = (EditText) findViewById(R.id.usernameEdit); 
    passwordText = (EditText) findViewById(R.id.passwordEdit); 



} 

05-06 16:41:11.068: ERROR/AndroidRuntime(12464): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tigatag.android/com.tigatag.android.Tigatag}: java.lang.NullPointerException 
05-06 16:41:11.068: ERROR/AndroidRuntime(12464):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496) 
05-06 16:41:11.068: ERROR/AndroidRuntime(12464):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512) 
05-06 16:41:11.068: ERROR/AndroidRuntime(12464):  at android.app.ActivityThread.access$2200(ActivityThread.java:119) 
05-06 16:41:11.068: ERROR/AndroidRuntime(12464):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863) 
05-06 16:41:11.068: ERROR/AndroidRuntime(12464):  at android.os.Handler.dispatchMessage(Handler.java:99) 
05-06 16:41:11.068: ERROR/AndroidRuntime(12464):  at android.os.Looper.loop(Looper.java:123) 
05-06 16:41:11.068: ERROR/AndroidRuntime(12464):  at android.app.ActivityThread.main(ActivityThread.java:4363) 
05-06 16:41:11.068: ERROR/AndroidRuntime(12464):  at java.lang.reflect.Method.invokeNative(Native Method) 
05-06 16:41:11.068: ERROR/AndroidRuntime(12464):  at java.lang.reflect.Method.invoke(Method.java:521) 
05-06 16:41:11.068: ERROR/AndroidRuntime(12464):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:862) 
05-06 16:41:11.068: ERROR/AndroidRuntime(12464):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620) 
05-06 16:41:11.068: ERROR/AndroidRuntime(12464):  at dalvik.system.NativeStart.main(Native Method) 
05-06 16:41:11.068: ERROR/AndroidRuntime(12464): Caused by: java.lang.NullPointerException 
05-06 16:41:11.068: ERROR/AndroidRuntime(12464):  at com.tigatag.android.Tigatag.onCreate(Tigatag.java:55) 
05-06 16:41:11.068: ERROR/AndroidRuntime(12464):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
05-06 16:41:11.068: ERROR/AndroidRuntime(12464):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459) 
05-06 16:41:11.068: ERROR/AndroidRuntime(12464):  ... 11 more 

모든 아이디어/단서/힌트는 대단히 감사하겠습니다. 이것을 입력하는 동안 문제가 다시 사라 졌으므로 나는 단서조차 갖고 있지 않습니다.

+0

세로 및 가로 (또는 다른 구성 선택자)에 대해 '기본'레이아웃이 별도로 있습니까? 아마 그들 중 하나에서'login' 아이디는 철자가 다릅니다. –

+0

53 번 줄에는 무엇이 있습니까? – MByD

답변

0

R.java을 다시 작성하기 위해 Eclipse에서 Project->Clean을 실행해야하는 것 같습니다.

+0

나는 내가 돌아와서 이것을 올바른 것으로 표시하지 않았다는 것을 깨달았습니다, 그것에 대해 미안 해요! – Simon

관련 문제