startActivity(intent) 报错、程序终止
本人刚刚开始接触 android 开发。所以总是能够碰到一些对自己来说稀奇古怪的问题。
如下面这段小代码:
Intent intent = new Intent();
intent.setClass(MainActivity.this,BookActivity.class );
startActivity(intent);
正常来说这段代码是一个界面跳转的实现方法。而且代码上也没什么错误。可是在模拟器上运行的时候,运行到startActivity(intent);时程序直接终止。在Eclipse不报错也没有错入日志。好嘛,到百度老师吧。
百度结果中很多朋友都说提出需要在 AndroidManifest.xml 注册一下需要跳转Activity 。即:
<activity android:name=".****Activity" android:label="@string/app_name" ></activity>
OK,照步就班一下,将****Activity 替换成自己的Activity,如我这里是 BookActivity。哈哈。哦了。运行一下看看。
结果还是报错。这是为什么呢?那么多朋友都给出的答案应该不会错,那么就是我自己错了。
重新验证自己的代码,结果发现一个令自己很丢人的错误。因为在<activity android:name=".****Activity" android:label="@string/app_name" ></activity>中,网上的朋友提供的.****Activity 是因为Activity在同一个包下,而我的是在令一个包下。在解析的的时候当然找不到我的Activty了。
所以修改一下:
<activity android:name="com.xianggedemo.system.BookActivity" android:label="@string/app_name" ></activity>
OK,保存,运行。问题解决。
后来又碰到这个问题了。在AndroidManifest.xml 中已正确的配置了节点,但是为啥有出错了呢?
原来是我新创建一个activity后,直接在AndroidManifest.xml中就添加了次节点。但是在activity中却还没有代码。既然没有代码那么就没有对Activity类。
所以在新的Java文件中添加对Activity的继承,红色部分
public class MessageActivity extends Activity {
}
OK,保存,运行。问题解决。
亲大哥啊,你可千万保佑我别再犯类似的错误了。
浙公网安备 33010602011771号