将信息从活动1中的EditText发送到活动2,并保存到活动2中的Recyclerview中

问题描述

嗨,我想通过在Activity1中按btnsave向Activity2发送一些信息,例如名称,重量,高度,结果,然后将它们保存到Recyclerview中。我可以保存它们,但是当我发送新信息时。 。保存在以前的卡中并替换,我想每次我在Activity1中按btnsave时在RecyclerView中创建一张新卡

我在Activity1中的btnsave

    btnSave.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                                Gson gson = new Gson();
                                ArrayList<Info> bmi = new ArrayList<>();
                                Info info = new Info(name,weight,height,result);
                                bmi.add(info);
                                SharedPreferences sharedPreferences = Activity1.this.getSharedPreferences(DB_KEY,Activity1.this.MODE_PRIVATE);
                                SharedPreferences.Editor editor = sharedPreferences.edit();
                                editor.putString(INFO,gson.toJson(bmi));
                                editor.commit();
                                Intent intent = new Intent(Activity1.this,Activity2.class);
                                startActivity(intent);

                        }
                    });
                }

这是在Activity2中创建的

protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_bmi);
    recyclerView = findViewById(R.id.recView);
    adapter  = new Adapter(this);
    recyclerView.setAdapter(adapter);
    recyclerView.setLayoutManager(new LinearLayoutManager(this,RecyclerView.HORIZONTAL,false));
    initview();
    Gson gson = new Gson();
    SharedPreferences sharedPreferences = Activity2.this.getSharedPreferences(DB_KEY,Activity2.this.MODE_PRIVATE);
    info = gson.fromJson(sharedPreferences.getString(INFO,null),InfoType);
    adapter.setInfo(info);
    if (info != null) {
        view2.setVisibility(View.VISIBLE);
        view1.setVisibility(View.GONE);
        btnBackbmi.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent1 = new Intent(Activity2.this,Activity1.class);
                startActivity(intent1);
            }
        });
    } else {
        view1.setVisibility(View.VISIBLE);
        view2.setVisibility(View.GONE);
        btnstart.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent1 = new Intent(Activity2.this,Activity1.class);
                startActivity(intent1);
            }
        });
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)