我刚开始学习Android开发(之前有一些iOS开发经验),但是我很惊讶为什么如果我“崩溃”,只有一个活动会崩溃,而不是整个应用程序?
我创建了一个演示应用程序(为什么只有MyActivity3崩溃而不是整个应用程序?)
启动MyActivity2的代码:
Button goToActivity2Button = (Button) this.findViewById(R.id.goToActityButton);
final MyActivity2 self = this;
goToActivity2Button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent activity3Intent = new Intent(self, MyActivity3.class);
self.startActivity(activity3Intent);
}
});
在我的第3个活动中崩溃。
Button goToActivity2Button = (Button) this.findViewById(R.id.crashTheAppButton);
goToActivity2Button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String nullString = null;
nullString.length();
}
});
self.startActivity(activity3Intent)
中删除self
。在这种情况下不需要使用self。 - Shvetself
中的self.startActivity(activity3Intent)
吗?同时,在Intent activity3Intent = new Intent(self, MyActivity3.class);
中将self
改为MainActivity2.this
。 - ShvetIntent
的工作原理:Intent intent = new Intent(SouceActivity.this, DestinationActivity.class); startActivity(intent);
- Shvet