package com.t.myapplication; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.another); /* 新建一个Intent对象 */ Button button = (Button) findViewById(R.id.next); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(MainActivity .this, OddDaysActivity.class); startActivity(intent); } }); Intent intent = new Intent(); /* 指定intent要启动的类 */ MainActivity .this.startActivity(intent); /* 关闭当前的Activity */ MainActivity .this.finish(); intent.setClass(MainActivity .this,OddDaysActivity.class); /* 启动一个新的Activity */ } }
时间: 2024-02-14 16:17:58 浏览: 138
新版Android开发教程.rar
5星 · 资源好评率100%
在这段代码中,你新建了一个 Intent 对象,但是没有为它设置任何的 Action、Category、Data 等信息,所以在启动 Activity 的时候出现了 ActivityNotFoundException 异常。
此外,你在 Intent 对象之后直接关闭了当前的 Activity,这也会导致启动下一个 Activity 失败。
你需要将启动下一个 Activity 的代码放到按钮的 onClick() 方法中,并为 Intent 对象设置正确的目标 Activity。另外,不要在 Intent 对象之后直接关闭当前的 Activity。
可以参考下面的代码:
```java
package com.t.myapplication;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.another);
Button button = (Button) findViewById(R.id.next);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this, OddDaysActivity.class);
startActivity(intent);
}
});
}
}
```
阅读全文