當寫完一個單個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="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>
原問題就成功解決了。
總結:這種問題不同的環境上可能有時報錯,有時不會報錯,但出現問題最好能在配置檔案中多做做嘗試。