Java 在Android中切换活动
我希望用户能够点击一个按钮,并被带到一个不同的活动。我以前在另一个应用程序中使用过类似的代码,但每次按下按钮,应用程序都会崩溃。在主菜单中,我有:Java 在Android中切换活动,java,android,android-activity,Java,Android,Android Activity,我希望用户能够点击一个按钮,并被带到一个不同的活动。我以前在另一个应用程序中使用过类似的代码,但每次按下按钮,应用程序都会崩溃。在主菜单中,我有: Button testButton = (Button) findViewById(R.id.testButton); testButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { /
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>
尝试以下操作:在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();
}
});
如果您的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>
您还可以发布DDMS日志吗?这将有助于理解应用程序崩溃的位置。使用Eclipse中的adb logcat、DDMS或logcat视图检查logcat并查看与崩溃相关的堆栈跟踪。如何发布DDMS日志?我试着在LogCat中查看这些东西,但我不知道它们是什么意思。这是控制台中的最后一行:[2012-03-25 13:59:46-com.android.ide.eclipse.adt.internal.project.AndroidManifestHelper]C:\Users\Tabitha\workspace\HelloTabWidget\AndroidManifest.xml的解析器异常:根元素后面的文档中的标记必须格式正确。请稍候忽略我在那里发布的最后一行,这是一个不同的应用程序。对不起,按钮所在的活动名称是什么?清单文件中可能缺少某些活动。我收到以下错误:“changeAct”无法解析为变量,并且新视图的stop()未定义。OnClickListener(){}。
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>