Почему мои данные появляются только после перехода между вкладками - PullRequest
0 голосов
/ 09 июля 2020

У меня есть небольшое приложение, которое должно передавать значения из 1 действия в настраиваемый список, который отображается на вкладке. Проблема в том, что у меня есть 4 вкладки, и значения должны отображаться на второй вкладке, но это не так, только после того, как я нажал последнюю вкладку (4-ю) и go вернулся на вторую вкладку, значения отображаются. Я хочу, чтобы они появлялись сразу после нажатия кнопки. Что я делаю не так ? спасибо

активность

        findViewById(R.id.plusB).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                if (plus.getText().toString().trim().isEmpty() || tvDate.getText().toString().trim().isEmpty() || catEt.getText().toString().trim().isEmpty()) {
                    Toast.makeText(getApplicationContext(), "not good", Toast.LENGTH_SHORT).show();
                } else {

                    final TextView line1 = findViewById(R.id.catEt);
                    final EditText lineimg = findViewById(R.id.minusNum);
                    final TextView line2 = findViewById(R.id.tvDate);

                    String lin1 = line1.getText().toString();
                    String lin2 = line2.getText().toString();
                    String lin3 = lineimg.getText().toString();


                    mExampleList.add(new exampleItem(lin3, lin2, lin1));
                    mAdapter.notifyItemInserted(mExampleList.size());
                    mAdapter.notifyDataSetChanged();
                    saveData();

                    Intent intent = new Intent(MainActivity.this, tab2.class);
                    startActivity(intent);
                    finish();
                }
            }
        });

    }

    private void loadData() {
        SharedPreferences sharedPreferences = getSharedPreferences("shared preferences11", MODE_PRIVATE);
        Gson gson = new Gson();
        String json = sharedPreferences.getString("task list11", null);
        Type type = new TypeToken<ArrayList<exampleItem>>() {
        }.getType();
        mExampleList = gson.fromJson(json, type);
        if (mExampleList == null) {
            mExampleList = new ArrayList<>();
        }
        mAdapter.notifyDataSetChanged();
    }

private void saveData() {
        SharedPreferences sharedPreferences = getSharedPreferences("shared preferences11", MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        Gson gson = new Gson();
        String json = gson.toJson(mExampleList);
        editor.putString("task list11", json);
        editor.apply();
    }
    
}

tab2

    buildRecyclerView(v);
    loadData();

    
    return v;
}
    private void loadData() {
        SharedPreferences sharedPreferences = this.getActivity().getSharedPreferences("shared preferences11", Context.MODE_PRIVATE);
        Gson gson = new Gson();
        String json = sharedPreferences.getString("task list11", null);
        Type type = new TypeToken<ArrayList<exampleItem>>() {
        }.getType();
        mExampleList = gson.fromJson(json, type);
        if (mExampleList == null) {
            mExampleList = new ArrayList<>();
        }
        mAdapter.notifyDataSetChanged();
    }
    private void buildRecyclerView(View view) {
        mRecyclerView = view.findViewById(R.id.recyclerview);
        mRecyclerView.setHasFixedSize(true);
        mLayoutManager = new LinearLayoutManager(getContext());
        mAdapter = new exampleAdapter(mExampleList);
        mRecyclerView.setLayoutManager(mLayoutManager);
        mAdapter.notifyDataSetChanged();
        mRecyclerView.setAdapter(mAdapter);
    }

}

...