问题描述
嗨,我想通过在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 (将#修改为@)