2011-03-02 21 views
11

Sırayla üçüncü etkinliğe geçmeye çalışıyorum. Ana etkinlikten ikincisine gitmek iyi çalışıyor ancak ikincisinden üçüncü etkinliğe gitmeye çalıştığımda uygulama çöküyor.Android: Tıklamayla ilgili başka bir etkinliğe nasıl geçersiniz?

package com.example.helloandroid; 

import android.app.Activity; 
//other imports here 

public class Game extends Activity implements OnClickListener { 

    private static final String TAG = "Matrix"; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     this.setContentView(R.layout.matrix); 
     View doneButton = findViewById(R.id.done_button); 
     doneButton.setOnClickListener(this); 
    } 

    public void onClick(View v) { 
     switch (v.getId()) { 
      case R.id.done_button: 
       Intent k = new Intent(this, GameTwo.class); 
       startActivity(k); 
       //finish(); 
       break; 
     } 
    } 
} 

Ve üçüncüsü aktivite için kod:

package com.example.helloandroid; 

import android.app.Activity; 
//other imports here 

public class GameTwo extends Activity { 

    private static final String TAG = "Matrix"; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     this.setContentView(R.layout.matrixtwo); 
     View donetwoButton = findViewById(R.id.donetwo_button); 
    } 
} 
+1

burada İstisna yapıştırmak Can deneyin? ADB LOGCAT kullanın – Swaroop

+0

Emin değilim, ancak Button'ı Görünüm yerine ikinci etkinlikte almayı deneyin ve ardından düğmenin nesnesi görünümünde ((Button) findViewById()) okuyun. Bu sizin sorununuzu çözebilir veya başka bir şey anlayabilmek için @swaroop'un buradaki macun istisnasını belirttiği gibi. – Ankit

+0

http://stackoverflow.com/questions/13194081/how-to-open-a-second-activity-on-click-of-button-in-android-app –

cevap

15

switch aşağıdaki kodu deneyin:

İşte benim ikinci aktivite için kod

try { 
    Intent k = new Intent(Game.this, GameTwo.class); 
    startActivity(k); 
} catch(Exception e) { 
    e.printStackTrace(); 
} 

söyle ben bu faydalı .....

+1

Niçin istisna yardımını yakalarsak ... –

+0

Mutlaka gerekli değil ama gelişirken yardımcı olur. –

+3

İstisnaı yakalamak ve herhangi bir sinyal göstermeden onu yutmak çok kötü bir uygulamadır ... Eğer metodun zincirine çıkmak istemezseniz, en azından mesajını veya yığın izini konsolda veya bir dosyada daha iyi). –

0

Zor bir ihtimal ama ... var
Senin sorunun da donetwo_button eğer atılır
matrixtwo.xml beyan edilmeyen bir NullPointerException ...
(Kopyala-yapıştır hataları oldukça yaygındır)

kaynaklanabilir
8
Intent k = new Intent(Game.this, GameTwo.class); 
startActivity(k); 

Bu, ancak, bunu bildirinizde belirtmiş olduğunuzdan emin olmak istersiniz.

3

Bildiride bildirilen üç Etkinliğe sahip olduğunuzdan emin olun. Etkinlik oluşturmak ve bildirmek için yaygın bir hata.

Çağrı kullanarak yeni Aktivite:

Intent k = new Intent(Game.this, GameTwo.class); 
startActivity(k); 
0

bu

Intent intent = new Intent(getApplicationContext(), GameTwo.class); 
startActivity(intent); 
İlgili konular