我有超过3个edittext。当我在edittext中输入内容时,我需要使用SharedPreferences将其保存到另一个屏幕。我在将editText值传递给另一个Activity之前使用了Intent。但我需要稍后保存editText值以进行编辑。
代码:
活动:
et=(EditText)findViewById(R.id.et);
et1=(EditText)findViewById(R.id.et1);
btn=(Button)findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
SharedPreferences preferences = getSharedPreferences("sample",0);
SharedPreferences.Editor editor = preferences.edit();
String[] day_array = new String[] {et.getText().toString(), et1.getText().toString() };
editor.putInt("array_size", day_array.length);
for (int i = 0; i < day_array.length; i++)
editor.putString("array_" + i, day_array[i]);
editor.commit();
Intent intent = new Intent(Save.this, Get.class);
startActivity(intent);
活动1:
SharedPreferences preferences = getSharedPreferences("sample",0);
int size = preferences.getInt("array_size", 0);
String[] Display_Room_array = new String[size];
for (int i = 0; i < size; i++) {
name = preferences.getString("array_" + i, Display_Room_array[i]);
Display_Room_array[i] = name;
txt=(TextView)findViewById(R.id.txt);
txt.setText(Display_Room_array[i]);
Toast.makeText(getApplicationContext(), name, Toast.LENGTH_SHORT).show();
}
答案 0 :(得分:2)
使用Strings作为static创建一个新类,并在那里保存文本值。 同时在该类中放置setter和getter函数。 在下一个活动中,只需创建该类的对象并获取这些值。
答案 1 :(得分:1)
我没得到你想要的东西?
你说你想在首选项中保存3个编辑文本值吗?
你也可以在第一次活动中做到这一点!
但如果您要将edittext值保存在其他活动中,则应使用intent.put extra将值传递给下一个活动,并且您可以将值存储在共享首选项中!这有什么大不了的?
答案 2 :(得分:0)
您可以在SharedPreferences
中保存一些值,然后按照以下方式访问后者......
et=(EditText)findViewById(R.id.et);
et1=(EditText)findViewById(R.id.et1);
btn=(Button)findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Intent intent = new Intent(Save.this, Get.class);
String[] myStrings = new String[] {txtt.getText().toString(),et.getText().toString() ,txtt1.getText().toString(),et1.getText().toString() };
intent.putExtra("strings", myStrings);
SharedPreferences preferences = getSharedPreferences("default", MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("text1",txtt.getText().toString());
editor.putString("text2",et.getText().toString());
.....
......
editor.commit();
startActivity(intent);
在下一个活动中,您可以访问以下偏好设置..
.......
......
SharedPreferences preferences = getSharedPreferences("default", MODE_PRIVATE);
String text1= preference.getString("text1"," ");
String text2= preference.getString("text2"," ");
....
.....
txt.setText(text1);
txt2.setText(text2);