qq_33721362 2016-01-30 23:13 采纳率: 14.3%
浏览 5675

怎么只写一个SharedPreferences让它保存多个数据,而不用像下面代码一样写多个SharedPreferences来保存数据

package com.myedit;

import android.app.*;
import android.os.*;
import android.view.*;
import android.widget.*;
import android.view.View.*;
import android.content.*;

public class MainActivity extends Activity
{

private SharedPreferences sp,spa,spb;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    final EditText a1=(EditText)findViewById(R.id.a1);
    final EditText a2=(EditText)findViewById(R.id.a2);
    final EditText a3=(EditText)findViewById(R.id.a3);
    Button   a4=(Button)findViewById(R.id.a4);
    final TextView a5=(TextView)findViewById(R.id.a5);
    final TextView a6=(TextView)findViewById(R.id.a6);
    final TextView a7=(TextView)findViewById(R.id.a7);
//保存内容
sp=getSharedPreferences("ba",MODE_PRIVATE);
spa=getSharedPreferences("bb",MODE_PRIVATE);
spb=getSharedPreferences("bc",MODE_PRIVATE);
String str=sp.getString("name","");
String s=spa.getString("name","");
String st=spb.getString("name","");
a5.setText(str);
a6.setText(s);
a7.setText(st);
    a4.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View p1)
            {
                // TODO: Implement this method
                a5.setText(a1.getText().toString());
                a6.setText(a2.getText().toString());
                a7.setText(a3.getText().toString());
                //读取保存内容



                sp.edit().putString("name",a5.getText().toString()).commit();
                spa.edit().putString("name",a6.getText().toString()).commit();
                spb.edit().putString("name",a7.getText().toString()).commit();

            }
        });
}

}
图片图片图片图片

  • 写回答

2条回答

  • threenewbee 2016-01-30 23:24
    关注
     private SharedPreferences sp,spa,spb;
    ->
    private SharedPreferences sp;
    
    sp=getSharedPreferences("ba",MODE_PRIVATE);
    //去掉spa=getSharedPreferences("bb",MODE_PRIVATE);
    //去掉spb=getSharedPreferences("bc",MODE_PRIVATE);
    
    String xx = sp.getString("name","");
    String str=xx.split(",")[0];
    String s=xx.split(",")[1];
    String st=xx.split(",")[2];
    
    sp.edit().putString("name",a5.getText().toString() + "," + a6.getText().toString() + "," + a7.getText().toString()).commit();
    //去掉spa.edit().putString("name",a6.getText().toString()).commit();
    //去掉spb.edit().putString("name",a7.getText().toString()).commit();
    
    评论

报告相同问题?

悬赏问题

  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?