0

Is there any way to refresh fragment ListView in BroadcastReceiver when data received?

this is ListView's refresh method in Fragment extends 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);
        }
    }

how can i use this method in BroadcastReceiver?

Salar Rastari
  • 2,280
  • 5
  • 22
  • 35

1 Answers1

1

I found how can we refresh the ListView when BroadcastReceiver receive data from server.

When BroadcastReceiver get data we have to send message to Activity or Fragment like this:

    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);
    }

That's all ;)

Salar Rastari
  • 2,280
  • 5
  • 22
  • 35