溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android編程實(shí)現(xiàn)在Activity中操作刷新另外一個Activity數(shù)據(jù)列表的方法

發(fā)布時間:2020-09-25 05:15:18 來源:腳本之家 閱讀:166 作者:Beyond0525 欄目:移動開發(fā)

本文實(shí)例講述了Android編程實(shí)現(xiàn)在Activity中操作刷新另外一個Activity數(shù)據(jù)列表的方法。分享給大家供大家參考,具體如下:

做Android項(xiàng)目中遇到這樣一個問題:有兩個acticity,一個顯示好友列表,另外一個顯示會話列表,現(xiàn)在問題是在會話界面增加一個添加好友功能,添加好友后要求實(shí)時的刷新好友列表。

想了想,找了兩種方式

方法一:通過聲明要刷新的activity(FriendActivity)為靜態(tài)變量,然后在一個activity(SessionActivity)中直接調(diào)用刷新方法

在FriendActivity中聲明靜態(tài)變量

public static FriendActivity instance = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  instance = this;
  initViews();
}

在SessionActivity中直接調(diào)用FriendActivity中的刷新好友列表方法即可:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
  if (requestCode == REQUEST_CODE_NEW_CONTACT && resultCode == RESULT_OK) {
    FriendActivity.instance.reFreshFriendList();
  }
}

當(dāng)然,這種方式使用的是靜態(tài)變量,你需要及時釋放內(nèi)存。

第二種方法:使用廣播機(jī)制,在SessionActivity添加好友時進(jìn)行廣播,而FriendActivity中通過動態(tài)注冊廣播消息進(jìn)行receive,當(dāng)接受到消息時,在FriendActivity中自己進(jìn)行更新

SessionActivity添加好友時進(jìn)行廣播:

// 廣播通知
Intent intent = new Intent();
intent.setAction("action.refreshFriend");
sendBroadcast(intent);

FriendActivity中通過動態(tài)注冊廣播消息

@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
   IntentFilter intentFilter = new IntentFilter();
   intentFilter.addAction("action.refreshFriend");
   registerReceiver(mRefreshBroadcastReceiver, intentFilter);
   initViews();
}
// broadcast receiver
private BroadcastReceiver mRefreshBroadcastReceiver = new BroadcastReceiver() {
   @Override
   public void onReceive(Context context, Intent intent) {
     String action = intent.getAction();
     if (action.equals("action.refreshFriend"))
     {
       reFreshFrinedList();
     }
   }
};

這樣就很好的實(shí)現(xiàn)了在一個Activity中實(shí)時刷新另外一個Activity數(shù)據(jù)列表,這種方式更加的靈活方便。

最后,不要忘記銷毀注冊

@Override
protected void onDestroy() {
    super.onDestroy();
    unregisterReceiver(mRefreshBroadcastReceiver);
}

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android開發(fā)入門與進(jìn)階教程》、《Android資源操作技巧匯總》、《Android數(shù)據(jù)庫操作技巧總結(jié)》、《Android視圖View技巧總結(jié)》及《Android控件用法總結(jié)》

希望本文所述對大家Android程序設(shè)計有所幫助。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI