2016-12-08 3 views
1

При нажатии кнопки для перехода от основной операции к моей активности «ColoursGame» приложение вылетает из строя.Новые сбои активности при запуске

Я все еще новичок, поэтому не эксперт по отладке.

Основной вид деятельности код

Button colorsGame = (Button) findViewById(R.id.colours); 
      colorsGame.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        startActivity(new Intent(MainActivity.this, ColoursGame.class)); 
       } 
      }); 

Manifest новая деятельность

<activity android:name=".ColoursGame" 
     android:label="ColourGame" 
     android:theme="@style/AppTheme.NoActionBar"></activity> 

ColoursGame активность OnCreate код

public class ColoursGame extends Activity { 

int livesCount = 3; 
String x; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_colours_game); 

    Button start = (Button) findViewById(R.id.startColors); 
    start.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      vSwitch.showNext(); 
      x = String.valueOf(livesCount); 
      lives.setText(x); 
      text(); 
      textColor(); 
      backgroundColor(); 

      start(); 
     } 
    }); 

} 

Ошибка

E/AndroidRuntime: FATAL EXCEPTION: main 
       Process: com.aynaar.numbersgameforkids, PID: 3278 
       java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.aynaar.numbersgameforkids/com.aynaar.numbersgameforkids.ColoursGame}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.Window.findViewById(int)' on a null object reference 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2548) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) 
        at android.app.ActivityThread.-wrap12(ActivityThread.java) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460) 
        at android.os.Handler.dispatchMessage(Handler.java:102) 
        at android.os.Looper.loop(Looper.java:154) 
        at android.app.ActivityThread.main(ActivityThread.java:6077) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) 
       Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.Window.findViewById(int)' on a null object reference 
        at android.app.Activity.findViewById(Activity.java:2323) 
        at com.aynaar.numbersgameforkids.ColoursGame.<init>(ColoursGame.java:42) 
        at java.lang.Class.newInstance(Native Method) 
        at android.app.Instrumentation.newActivity(Instrumentation.java:1078) 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2538) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)  
        at android.app.ActivityThread.-wrap12(ActivityThread.java)  
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)  
        at android.os.Handler.dispatchMessage(Handler.java:102)  
        at android.os.Looper.loop(Looper.java:154)  
        at android.app.ActivityThread.main(ActivityThread.java:6077)  
        at java.lang.reflect.Method.invoke(Native Method)  
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)  
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)  
+0

'Кнопка запуска = (кнопка) findViewById (R.id.startColors);' Ошибка вызвана это утверждение. Убедитесь, что в вашем макете есть кнопка с идентификатором 'startColors'. – AlphaQ

+0

У вас есть кнопка 'Button' с именем ** colors ** в вашем макете? – emrekose26

+0

показать ваш макет из обоих действий –

ответ

0
Button start = (Button) findViewById(R.id.startColors); 

По ошибке вы пытаетесь достичь кнопки, оленья кожа существовать в файле макета деятельности (независимо от того, что есть). Проверьте идентификатор кнопки и убедитесь, что она размещена на странице макета, связанной с вашей деятельностью «ColoursGame».

+0

Нет. 'Window.findViewById (int) 'на ссылке с нулевым объектом' ... Окно ноль. Не кнопка –

1

at com.aynaar.numbersgameforkids.ColoursGame.<init>(ColoursGame.java:42)

Не называйте findViewById вне onCreate, нет окна, чтобы позвонить findViewById в этой точке.


Если вы все еще получаете NullPointer, то вы должны иметь @+id/startColors в activity_colours_game.xml

Answer explanation here

Смежные вопросы