我有一個非Activity類(我們稱之爲「NonActivity」),需要發佈消息並獲取用戶反饋。我有一個消息活動(MsgActivity)類來做到這一點。但是,只有活動類可以調用startActivityForResult()所以我做出NoActivity內部輔助類:ActivityNotFoundException調用內部類活動
// just to provide an Activity to launch MsgActivity
class ActivityMsgClass extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent iMA = new Intent(this, MsgActivity.class);
iMA.putExtra("MsgText", mParams[0]);
...blah blah ...
iMA.putExtra("ButtonCode", iBtns);
startActivityForResult(iMA,3);
}
}
我的動態類是在清單正是如此宣稱:
<activity android:name="ActivityMsgClass"
android:configChanges="orientation"
android:screenOrientation="portrait"
android:launchMode="singleInstance"></activity>
但是,當我嘗試調用它。 。 。
Intent i = new Intent(ctx, ActivityMsgClass.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ctx.startActivity(i);
...我得到一個ActivityNotFound異常。我也嘗試過沒有FLAG_ACTIVITY_NEW_TASK,我也試着在清單限定名稱,例如,
<activity android:name=".NoActivity.ActivityMsgClass"
。 。 。無濟於事。我究竟做錯了什麼?
在此先感謝。
如果我這樣做,在NonActivity和Activity類之間來回傳遞參數的最佳方式是什麼?我想要使用內部類的一個原因是它可以本地訪問NonActivity的變量。 – user316117 2012-04-11 17:59:51
這取決於具體情況,但通常情況下,內部類不是處理活動時的解決方案。 – MByD 2012-04-11 18:01:23
我同意 - 它讓我很尷尬地使用一個內部類,但是我受到如何來回傳遞數據的阻礙。靜態「全局」?你有什麼建議? – user316117 2012-04-11 18:26:19