2012-03-25 13 views
0

Ich möchte der Benutzer in der Lage sein, auf eine Schaltfläche tippen und zu einer anderen Aktivität genommen werden. Ich habe zuvor ähnlichen Code in einer anderen App verwendet, aber jedes Mal, wenn ich den Knopf drücke, stürzt die App ab. Im Hauptmenü habe ich:Wechsel zwischen Aktivitäten in Android

Button testButton = (Button) findViewById(R.id.testButton); 
    testButton.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      startActivity(new Intent("de.vogella.android.c2dm.simpleclient.TEST")); 
     } 
    }); 

Im Manifest:

<activity 
     android:name=".TestClass" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="de.vogella.android.c2dm.simpleclient.TEST" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 

TestClass.java ist:

package de.vogella.android.c2dm.simpleclient; 

import android.app.Activity; 
import android.os.Bundle; 

public class TestClass extends Activity { 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main);  

} 

} 
+0

können Sie auch die DDMS Beitrag schreiben zu können? Dies hilft zu verstehen, wo die App abstürzt. –

+0

Verwenden Sie 'adb logcat', DDMS oder die LogCat-Ansicht in Eclipse, um LogCat zu untersuchen und die mit Ihrem Absturz verknüpfte Stack-Ablaufverfolgung anzuzeigen. – CommonsWare

+0

Wie poste ich das DDMS-Protokoll? Ich habe versucht, das Zeug in LogCat anzuschauen, aber ich weiß nicht, was es bedeutet. Dies ist die letzte Zeile in der Konsole: [2012-03-25 13:59:46 - com.android.ide.eclipse.adt.internal.project.AndroidManifestHelper] Parser-Ausnahme für C: \ Users \ Tabitha \ workspace \ HelloTabWidget \ AndroidManifest.xml: Das Markup im Dokument, das auf das Wurzelelement folgt, muss wohlgeformt sein. – user1260239

Antwort

0

Try this: In der onClick Ihre erste Klasse diese ändern:

Button testButton = (Button) findViewById(R.id.testButton); 
    testButton.setOnClickListener(new View.OnClickListener() { 

     final ClassName changeAct = this; 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      Intent i = new Intent(); 
        i.setClass(changeAct, TEST.class); //Change TEST.class to the name of the class you want it to go to. 
        startActivity(i); 

        stop(); 
     } 
    }); 
+0

Ich bekomme diese Fehler: 'changeAct' kann nicht in eine Variable aufgelöst werden und stop() ist für neue View.OnClickListener() {} nicht definiert. – user1260239

0
Intent intent = new Intent (CurrentActivity.this, TestClass.class); 
startActivity(intent); 

Wenn Ihre TestClass in einem anderen Paket ist, legen Sie einfach Ihr Paket in den Vordergrund.

Intent intent = new Intent (CurrentActivity.this, de.vogella.android.c2dm.simpleclient.TestClass.class); 
startActivity(intent); 

die Aktivität in einem offenkundigen Deklarieren Sie diese wie:

<activity 
     android:name="de.vogella.android.c2dm.simpleclient.TestClass" 
    </activity> 
Verwandte Themen