Accessing realm database across activities

a 夏天 提交于 2019-12-31 05:25:10

问题


I have 3 different activities. 1 extends Application and realm is configured in this activity. 2. Data is added to Realm from 2nd activity . 3. Data is to be displayed in the 3rd activity. I am unable to do the 3rd part. I am unable to get an instance of Realm in the 3rd activity. The following is Application(1st activity that I mentioned)

@Override
    public void onCreate() {
        super.onCreate();
        Realm.init(this);
        RealmConfiguration realmConfiguration = new RealmConfiguration.Builder().build();
        Realm.setDefaultConfiguration(realmConfiguration);
    }

the following is the code for adding data to realm which is in a fragment inside 2nd activity(PurchaseDetailsActivity).

private void addDataToRealm(DBPurchase model) {
        mRealm.beginTransaction();
        DBPurchase dbPurchaseModel = new DBPurchase();
        dbPurchaseModel.setId(id);
        dbPurchaseModel.setAmountPayed(model.getAmountPayed());
        dbPurchaseModel.setCredit(model.getCredit());
        mRealm.insertOrUpdate(dbPurchaseModel); 
        mRealm.commitTransaction();
        id++;

the last one is the fragment which is inside 3rd Activity.

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_purchase_items, container, false);
        purchaseTotalListAdapter = new PurchaseTotalListAdapter(getContext(), mDBPurchaseArrayList, PurchasesTotalListFragment.this);
        RecyclerView recyclerView = (RecyclerView) view.findViewById(R.id.recycler_view);
        recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
        recyclerView.setAdapter(purchaseTotalListAdapter);
        Realm.getDefaultInstance();
        return view;
    }

来源:https://stackoverflow.com/questions/44821570/accessing-realm-database-across-activities

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!