我有一個帶有TextView(「@ + id/lblAccountHead」)的片段「AddNewIncomeFragment」。點擊textview後,它開始一個新的活動「AccountHeadListActivit」,它顯示了一個現有賬戶頭的列表。在從「AccountHeadListActivity」中選擇賬戶頭部時,我想用選定的賬戶名稱更新第一個活動的「lblAccountHead」,其他值需要保持不變。Xamarin Android - 從另一個活動更新一個活動的UI控件
早些時候我使用「消息中心」爲xamarin格式。現在我試圖在xamarin native(android)中做同樣的事情。
*****用第一溶液應用修訂****
在AddNewIncomeFragment點擊事件,開始考慮頭部活動:開戶頭活動的
public void onAccounyHeadClick(object sender, EventArgs e)
{
var intend = new Intent(this.Activity, typeof(AccountHeadListActivity));
//this.StartActivity(intend);
this.StartActivityForResult(intend, 1000);
}
ListView的選擇事件
void OnSelection (object sender, SelectedItemChangedEventArgs e)
{
var result = new Intent();
result.PutExtra("name", "Salary Account");
result.PutExtra("id", 2);
SetResult(Result.Ok, result);
Finish();
}
在結束活動後,我想更新以前活動的textview和選定的帳戶頭名稱/ ID。請分享我們必須在xamarin andriod中執行此操作的選項,並使用StartActivityForResult,Local Notifications或任何最佳方法。
我已經實現了上述解決方案,它工作正常。但問題是 - 第二個活動「AccountHeadList」包含一個添加新帳戶鏈接,它啓動一個新的活動「AddNewAccount」 - 現在如果用戶創建一個新帳戶並保存它,那麼此活動需要關閉,第一個活動需要新更新創建帳戶名稱。所以基本上「StartActivityForResult」在涉及三項活動並且需要從第三項活動更新第一項活動時失敗 - 請建議。
感謝,
@保羅
而不是使用finish()關閉第三個活動,您可以啓動第一個活動並通過一個包中的意圖傳遞所需的數據,然後在oncreate()方法中可以從包中獲取數據如果存在。 – Ogbe