2012-03-25 7 views
0

사용자가 버튼을 탭하고 다른 활동으로 옮길 수 있기를 바랍니다. 전에 다른 앱에서 유사한 코드를 사용했지만 버튼을 누를 때마다 앱이 다운됩니다. 메인 메뉴에서 내가 가진 :Android에서 활동 간 전환

<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

Eclipse에서'adb logcat', DDMS 또는 LogCat보기를 사용하여 LogCat을 검사하고 충돌과 관련된 스택 추적을보십시오. – CommonsWare

+0

DDMS 로그를 게시하려면 어떻게합니까? 내가 LogCat에서 물건을 보았지만 그게 무슨 뜻인지 모르겠다. 이것은 콘솔의 마지막 줄입니다. [2012-03-25 13:59:46 - com.android.ide.eclipse.adt.internal.project.AndroidManifestHelper] C : \ Users \ Tabitha \ workspace의 파서 예외 \ HelloTabWidget \ AndroidManifest.xml : 루트 요소 뒤에 오는 문서의 마크 업은 올바른 형식이어야합니다. – user1260239

답변

0

이를 시도해보십시오 온 클릭이 귀하의 첫 번째 클래스를 수정에서 매니페스트에서

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")); 
     } 
    }); 

:

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>