我对这个很困惑。在我的MainActivity.java中,我有一个按钮,它应该转到另一个文件中的另一个类RedGreenTest.java
redButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
findViewById(R.id.testRG_button);
Intent i = new Intent(MainActivity.this, RedGreenTest.class);
startActivity(i);
}
});
因此点击按钮,bam insta-crash。调试器告诉我它是startActivity(i);
没有dua。进入清单,我将<activity android:name=".MainActivity">
更改为<activity android:name=".RedGreenTest">
,应用程序启动就好了。
以下是MainActivity.java
文件中的onCreate()类的开头:
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test_select_layout);
...
我的RedGreenTest.java
中的onCreate():
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.red_green_layout);
...
通过调试器运行它,当在Manifest中设置RedGreenTest.java
文件时,我没有收到任何错误。
我从这个应该是简单的意图切换中失去了什么基础?
答案 0 :(得分:1)
您需要将两个活动添加到清单中:
<activity android:name=".RedGreenTest">
...
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
当您将MainActivity更改为RedGreenTest时应用程序启动的原因是因为您将RedGreenTest活动设置为启动活动,该活动由intent过滤器设置。