android - Update RecyclerView with new entries in SQLite database -


i have app making main page shows of recent score predictions user has made. if user wants add new one, press plus button , dialog comes user can enter new information.

all user's data in sqlite database, how can update recyclerview new/updated user history on return dialog?

the main activity:

package com.winansbros.soccerpredictor;  import android.app.activity; import android.content.context; import android.content.intent; import android.database.cursor; import android.os.*; import android.support.v7.widget.cardview; import android.support.v7.widget.linearlayoutmanager; import android.support.v7.widget.recyclerview; import android.util.log; import android.view.view; import android.widget.button; import android.widget.imageview; import android.widget.textview; import java.util.arraylist; import java.util.hashmap; import java.util.list; import java.util.map; import com.google.android.gms.ads.adrequest; import com.google.android.gms.ads.adview; import com.google.android.gms.analytics.googleanalytics; import com.google.android.gms.analytics.tracker; import com.parse.findcallback; import com.parse.parse; import com.parse.parseexception; import com.parse.parseobject; import com.parse.parsequery;  public class history extends activity {  context ctx = this;  adview madview; adrequest adrequest;  cardview gotwcardview;  textview gotwhometeam; textview gotwawayteam; textview gotwscore; imageview gotwteamhome; imageview gotwteamaway; imageview plusbutton;  final int request =  1;  public static googleanalytics analytics; public static tracker tracker;  databaseoperations dop;  private recyclerview mrecyclerview; private recyclerview.adapter madapter; private recyclerview.layoutmanager mlayoutmanager;  list<string> hometeams; list<string> awayteams; list<string> scores; list<integer> homeimages; list<integer> awayimages;  public map<string, integer> map = new hashmap<>();  public void oncreate(bundle savedinstancestate) {      super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_history);      analytics = googleanalytics.getinstance(this);     analytics.setlocaldispatchperiod(1800);      tracker = analytics.newtracker("xxxx");     tracker.enableexceptionreporting(true);     tracker.enableadvertisingidcollection(true);     tracker.enableautoactivitytracking(true);      tracker.setscreenname("main screen");      parse.enablelocaldatastore(this);      parse.initialize(this, "xxxx", "xxxx");      hometeams = new arraylist<>();     awayteams = new arraylist<>();     scores = new arraylist<>();     homeimages = new arraylist<>();     awayimages = new arraylist<>();      setmap();      dop = new databaseoperations(ctx);     cursor cr = dop.getinformation(dop);      if(cr.movetofirst()) {         {             string currenthome = cr.getstring(1);             hometeams.add(currenthome);             homeimages.add(map.get(currenthome));             string currentaway = cr.getstring(2);             awayteams.add(currentaway);             awayimages.add(map.get(currentaway));             scores.add(cr.getstring(3));             log.d("cloud files", "object id set");         } while (cr.movetonext());          string[] mydataset = new string[hometeams.size()];         mydataset = hometeams.toarray(mydataset);         string[] mydataset2 = new string[awayteams.size()];         mydataset2 = awayteams.toarray(mydataset2);         string[] mydataset3 = new string[scores.size()];         mydataset3 = scores.toarray(mydataset3);         log.d("progress", "dont worry");         integer[] mydataset4 = new integer[hometeams.size()];         mydataset4 = homeimages.toarray(mydataset4);         integer[] mydataset5 = new integer[awayteams.size()];         mydataset5 = awayimages.toarray(mydataset5);          madapter = new myadapter(mydataset, mydataset2, mydataset3, mydataset4, mydataset5);      }      cr.close();     dop.close();      mrecyclerview = (recyclerview) findviewbyid(r.id.my_recycler_view);     mlayoutmanager = new linearlayoutmanager(ctx);     mrecyclerview.sethasfixedsize(true);     mrecyclerview.setlayoutmanager(mlayoutmanager);     mrecyclerview.setadapter(madapter);      log.d("progress", "checkpoint");      madview = (adview) findviewbyid(r.id.adview);     adrequest = new adrequest.builder()             .build();     madview.loadad(adrequest);      new thread(new runnable() {         @override         public void run() {   ****stuff unrelated question****     }).start();      plusbutton.setonclicklistener(new view.onclicklistener() {         @override         public void onclick(view v) {              intent intent = new intent(history.this, newprediction.class);             startactivity(intent);         }     });  }  public void setmap() {     map.put("arsenal", r.drawable.arsenal);     ...     map.put("villarreal", r.drawable.villarreal); }  } 

thank in advance, , please comment if need more code

i think wanted return results newprediction.class. use startactivityforresult() in history. setresult() in predictions return result

class history  {       ...      ...      private static final int perform_prediction_request = 26252;      plusbutton.setonclicklistener(new view.onclicklistener() {         @override         public void onclick(view v) {             intent intent = new intent(history.this, newprediction.class);             startactivityforresult(intent, perform_prediction_request);         }     });       @override     public void onactivityresult(int requestcode, int resultcode, intent data) {         super.onactivityresult(requestcode, resultcode, data);          if (perform_prediction_request == requestcode) {             if (activity.result_ok == resultcode) {                 data.getstring("datakey")             }                    }     }        }   class newprediction {     ...     intent intent = new intent();     intent.putextra("datakey", "somedata_that_is_somehow_related_to_prediction");     setresult(activity.result_ok, intent)     ... } 

Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -