当写完一个单个intent页面跳转程序后,程序编译并未报错,但却在运行时报错。这是为什么呢。
如图这是我的代码片段,设置单击跳转事件。
public class RegisterListener implements View.OnClickListener{
public void onClick(View arg0) {
Intent intent=new Intent();
intent.setClass(BaseApplication.this, RegisterActivity.class);
BaseApplication.this.startActivity(intent);
}
}
并没有什么问题,于是我们就去找AndroidManifest.XML配置文件,本人因为在配置上经常出错,所以也经常在这边找错误。
原来的配置贴出来是这样的:
<activity
android:name="com.example.BaseApplication"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="RegisterActivity"> </activity>
出错在什么的地方呢,出错在最后的两行
<activity android:name="RegisterActivity"> </activity>
有人也会写成这样也是会出错
<activity android:name=".RegisterActivity"> </activity>
那么来个规范化的引用吧,填加上完整包名
<activity
android:name="com.example.BaseApplication"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.lsj.activity.RegisterActivity"> </activity>
原问题就成功解决了。
总结:这种问题不同的环境上可能有时报错,有时不会报错,但出现问题最好能在配置文件中多做做尝试。