簡體   English   中英

課堂上的意圖沒有啟動

[英]Intent From Class Not Launching

我正在嘗試從活動類發起意圖:

Intent i = new Intent(this, (Obscured)MapActivity.class);
    i.putExtra("stop", stop);
    this.startActivity(i);

這是我在(Obscured)MapActivity中的意圖接收者:

Intent i = this.getIntent();
if (i != null && i.getSerializableExtra("stop") != null) {
        this.displayLocations();
        BusStop tempStop = new BusStop();
        tempStop = (BusStop) i.getSerializableExtra("stop");
        this.goToStop(tempStop);
    }

但是由於某種原因,它沒有啟動。 我還有另一種情況:

if (i != null && i.getSerializableExtra("loc") != null) {
        this.displayLocations();
        this.goToLocation((Location) i.getSerializableExtra("loc"));
    }

這樣就可以了,意圖啟動器代碼幾乎完全相同。 有任何想法嗎?

編輯:我也正在使用SherlockListActivity,不確定是否會更改任何內容。

<activity
        android:name=".(Obscured)MapActivity"
        android:configChanges="keyboardHidden|orientation|screenSize|uiMode|screenLayout"

我很樂意提供更多信息,這已經困擾了我幾個小時。

答案:發現了問題。 由於某種原因,當我添加可序列化的Extras(停止)時,它會中斷。 注釋掉putExtra()即可。 問題是試圖序列化GeoPoint。

找到了問題。 由於某種原因,當我添加可序列化的Extras(停止)時,它會中斷。 注釋掉setExtra()即可。 不知道為什么它不會通過它,該類擴展了可序列化,但是我嘗試的所有操作都使其再次中斷。

在manifest.xml中添加它

<activity android:name=".MapActivity"
    android:configChanges="orientation|keyboardHidden" />

我不確定是否有幫助,但是putExtra()JavaDocs聲明您必須在多余的名稱中包含一個包前綴:

該名稱必須包含程序包前綴,例如,應用com.android.contacts將使用“ com.android.contacts.ShowAll”之類的名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM