android - 如何使用共享首选项编辑器保存

标签 android sharedpreferences android-image saving-data

我需要一些帮助。我是新的 android 开发人员。我无法在共享首选项编辑器中保存图像。我想将图像保存在我的列表中。

这是我的 Main.java:

public class Main extends ListActivity {

    ArrayList<PersonalInfo> newList = null;
    private Button btnSave = null;

    private EditText txtName = null;
    private EditText txtMobile = null;
    private CustomListAdapter newAdpt = null;
    private int i = 0;
    private ImageView images;
    public static String filename = "MySharedString";
    SharedPreferences someData;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        someData = getSharedPreferences(filename, 0);
        newList = new ArrayList<PersonalInfo>();

        newAdpt = new CustomListAdapter(this, R.layout.list_item, newList);
        setListAdapter(this.newAdpt);

        txtName = (EditText) findViewById(R.id.txtName);
        txtMobile = (EditText) findViewById(R.id.txtMobile);
        images = (ImageView)findViewById(R.id.imageView1);

        btnSave = (Button) findViewById(R.id.btnSave);

        btnSave.setOnClickListener(new OnClickListener() {

            public void onClick(View arg0) {
                newList = new ArrayList<PersonalInfo>();
                PersonalInfo info = new PersonalInfo();
                String dataTxtName = txtName.getText().toString();
                String dataTxtMobile = txtMobile.getText().toString();
                int dataImage = images.getId();
                SharedPreferences.Editor editor = someData.edit();

                editor.putString("sharedStringName", dataTxtName);
                editor.putString("sharedStringMobile", dataTxtMobile);
                editor.putInt("sharedIntImage", dataImage);

                info.SetName(dataTxtName);
                info.SetMobile(dataTxtMobile);
                info.SetImage(dataImage);
                newList.add(info);


                if (newList != null && newList.size() > 0) {
                    newAdpt.notifyDataSetChanged();
                    newAdpt.add(newList.get(0));
                    i++;

                }

                newAdpt.notifyDataSetChanged();

            }

这是我的 PersonalInfo.java

public class PersonalInfo {
    private String name = "";
    private String mobile = "";
    private int image;

    public void SetName(String name) {
        this.name = name;
    }

    public String GetName() {
        return this.name;
    }

    public void SetMobile(String mobile) {
        this.mobile = mobile;
    }

    public String GetMobile() {
        return this.mobile;
    }

    public void SetImage(int dataImage) {
        this.image = dataImage;
    }

    public int GetImage() {
        return this.image;
    }

我该如何解决这个问题?

最佳答案

在完成修改 SharedPreferences 后添加 editor.commit();

关于android - 如何使用共享首选项编辑器保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12898454/

相关文章:

android - FileProvider 正在打开一个 PDF,但它是空白的。为什么?

java - 使用 BroadcastReceiver 重启手机后如何获取 sharedPreference 值?

android - 如何保存开关的状态

android - 为什么我的应用程序在启动照片 Intent 之后但在调用 onActivityResult() 之前崩溃?

java - 如何在 GridView 内动态创建 ImageButton

android - PowerManager.newWakeLock() 抛出 IlleagelArgumentException

android - chrome安卓浏览器只显示部分网页宽度

android - addPreferencesFromResource 导致 ClassCastException

java - 使用 Java 进行 Android 图像编辑/变形?

android - 保存图像并将所有图像复制到 SD 卡中