2012-03-25 3 views
0

Я хочу, чтобы пользователь мог нажать кнопку и перейти к другому действию. Я использовал аналогичный код раньше в другом приложении, но каждый раз, когда я нажимаю кнопку, приложение падает. В главном меню у меня есть:Переключение между действиями в 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")); 
     } 
    }); 

В манифесте:

<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 является:

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

Вы можете также разместить войти в DDMS? Это поможет понять, где приложение аварийно завершает работу. –

+0

Используйте 'adb logcat', DDMS или LogCat в Eclipse для проверки LogCat и просмотра трассировки стека, связанной с вашим сбоем. – CommonsWare

+0

Как разместить журнал DDMS? Я пробовал смотреть на вещи в LogCat, но я не знаю, что это значит. Это последняя строка в консоли: [2012-03-25 13:59:46 - com.android.ide.eclipse.adt.internal.project.AndroidManifestHelper] Исключение Parser для C: \ Users \ Tabitha \ workspace \ HelloTabWidget \ AndroidManifest.xml: разметка в документе, следующей за корневым элементом, должна быть хорошо сформирована. – user1260239

ответ

0

Попробуйте это: В OnClick изменить свой первый класс к этому:

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

Я получаю эти ошибки: «changeAct» не может быть разрешен переменной и stop() не определен для нового View.OnClickListener() {}. – user1260239

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

Если ваш TestClass находится в другом пакете, просто поставьте свой пакет спереди.

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

Объявите активность в манифесте, как это:

<activity 
     android:name="de.vogella.android.c2dm.simpleclient.TestClass" 
    </activity> 
Смежные вопросы