android - Notify all adapters using Tablayout and Recyclerview -


im using recyclerview adapter on 3 different fragments: "overview", "income", "spending" in tablayout. fragments holds list , shows data sqlite db depending on if income or spending (or all), problem when remove 1 item , notify updates on current shown fragment.

how should think if want update recyclerviews/adapters , lists once remove item in lets "overview" (which shows items)?

you can send broadcast , receive them in fragments notifydatasetchanged()

while removing items send broadcast

intent intent = new intent("key_to_identify_the_broadcast"); intent.putextra("refresh", true); context.sendbroadcast(intent); 

and every fragment create broadcast receiver

private final broadcastreceiver mhandlemessagereceiver = new  broadcastreceiver() {     @override     public void onreceive(context context, intent intent) {         boolean refresh =              intent.getbooleanextra("refresh",false);         if(refresh){            notifydatasetchanged();         }         //you can call of methods using value use case   } }; 

you need register broadcast in oncreateview() of fragment

intentfilter filter = new        intentfilter("key_to_identify_the_broadcast");        getactivity().getapplicationcontext().               registerreceiver(mhandlemessagereceiver, filter); 

you need unregister in ondestroy() of fragment

@override public void ondestroy() {     try {       getactivity().getapplicationcontext().          unregisterreceiver(mhandlemessagereceiver);     } catch (exception e) {       log.e("unregister error", "> " + e.getmessage());    }    super.ondestroy(); } 

you can implement same broadcast receiver fragments want refresh list


Comments