2016-01-05 61 views
0

當數據收到時,有什麼辦法刷新BroadcastReceiver中的片段ListView?如何刷新BroadcastReceiver中的片段ListView?

這是在碎片ListView的刷新方法擴展ListFragment:

public void refreshTicketList() { 

     list = readData.getAllRows(); 
     Collections.reverse(list); 
     if (list.isEmpty()) { 
      Toast.makeText(getContext(), "No data, Please Swipe Down to get data.", Toast.LENGTH_LONG).show(); 
     } else { 
      adapter = new ListAdapter(getContext(), list); 
      setListAdapter(adapter); 
     } 
    } 

如何使用在廣播接收器這種方法嗎?

+2

參考http://stackoverflow.com/questions/26163075/how-to -refresh-a-listview-from-a-broadcastreceiver – sasikumar

+0

我無法理解它:( –

回答

1

我發現當BroadcastReceiver從服務器接收數據時,我們該如何刷新ListView。

當廣播接收器獲取的數據,我們必須將消息發送到活動或片段是這樣的:

BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { 
      @Override 
      public void onReceive(Context context, Intent intent) { 
       //Refresh code here 
      } 
     }; 

@Override 
    public void onResume() { 
     super.onResume();   
     getActivity().registerReceiver(broadcastReceiver, new IntentFilter("REFRESH")); 
    } 


    @Override 
    public void onDestroy() { 
     super.onDestroy(); 
     getActivity().unregisterReceiver(broadcastReceiver); 
    } 

這一切;)