2017-10-19 65 views
-4

我有2个活动,这是在MainActivityAndroid的工作室的onCreate崩溃

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    Log.d(Tag, "onCreate Main"); 
    setContentView(R.layout.activity_main); 
    Log.d(Tag, "set contentview "); 
    Intent intent = getIntent(); 
    Log.d(Tag, "intent Main"); 
    name1 = intent.getStringExtra("playerName1"); 
    name2 = intent.getStringExtra("playerName2"); 
    Log.d(Tag, "get names Main"); 

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    Log.d(Tag, "toolbar"); 
    setSupportActionBar(toolbar); 
    Log.d(Tag, "setsupport"); 

    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
    Log.d(Tag, "floating"); 
    fab.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Log.d(Tag, "onclick"); 
      Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) 
        .setAction("Action", null).show(); 

     } 
    }); 

    //assign buttons to a button array 
    for (int i = 0; i < buttons.length; ++i) { 
     buttons[i] = (Button) findViewById(id); 
     buttons[i].setOnClickListener(this); 
     isClicked[i] = false; 
     xClicked[i] = false; 
     oClicked[i] = false; 
     //initialization of the string array 
     s[i] = ""; 
     id++; 
    } 
    Log.d(Tag, "assigning finished"); 
} 

,这是将信息发送到在MainActivity

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    Log.d(Tag, "onCreate"); 

    setContentView(R.layout.activity_user_name); 
    Log.d(Tag, "setContentView"); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
    fab.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) 
        .setAction("Action", null).show(); 
     } 
    }); 
    btnName = (Button) findViewById(id); 
    btnName.setOnClickListener(this); 
    } 

所以,你可以看到我的活动已经使用logcat进行调试,崩溃发生在此行之后:

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
    Log.d(Tag, "floating"); 

我找不出什么问题是... 我需要帮助 !!

我很抱歉,如果我不是非常具体,这里是堆栈跟踪!

10-18 22:54:21.493 12068-12068/edu.ncc.hkim.tictactoepart2 D/Checking: floating 
10-18 22:54:21.499 12068-12068/edu.ncc.hkim.tictactoepart2 D/AndroidRuntime: Shutting down VM 
10-18 22:54:21.501 12068-12068/edu.ncc.hkim.tictactoepart2 E/AndroidRuntime: FATAL EXCEPTION: main 
                     Process: edu.ncc.hkim.tictactoepart2, PID: 12068 
                     java.lang.RuntimeException: Unable to start activity ComponentInfo{edu.ncc.hkim.tictactoepart2/edu.ncc.hkim.tictactoepart2.MainActivity}: java.lang.NullPointerException: Attempt to write to null array 
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2947) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3008) 
                      at android.app.ActivityThread.-wrap14(ActivityThread.java) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650) 
                      at android.os.Handler.dispatchMessage(Handler.java:102) 
                      at android.os.Looper.loop(Looper.java:154) 
                      at android.app.ActivityThread.main(ActivityThread.java:6688) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358) 
                      Caused by: java.lang.NullPointerException: Attempt to write to null array 
                      at edu.ncc.hkim.tictactoepart2.MainActivity.onCreate(MainActivity.java:84) 
                      at android.app.Activity.performCreate(Activity.java:6912) 
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126) 
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2900) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3008)  
                      at android.app.ActivityThread.-wrap14(ActivityThread.java)  
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)  
                      at android.os.Handler.dispatchMessage(Handler.java:102)  
                      at android.os.Looper.loop(Looper.java:154)  
                      at android.app.ActivityThread.main(ActivityThread.java:6688)  
                      at java.lang.reflect.Method.invoke(Native Method)  
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)  
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)  
+0

检查堆栈跟踪logcat –

+0

欢迎来到StackOverflow!你可以编辑你的问题来包含这个程序产生的堆栈跟踪。这将有助于潜在的回答者 – jpyams

回答

1

它说错误Caused by: java.lang.NullPointerException: Attempt to write to null array

在您的for循环中,您尝试将值分配给尚未初始化的数组。这就是为什么你得到NullPointerException。

+0

非常感谢你,我只是意识到自己发布堆栈跟踪之后... 我应该仔细阅读它。谢谢 !! –

相关问题