3

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

这是我的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;
    }

我该如何解决这个问题?

4

2 回答 2

3

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

于 2012-10-15T15:07:40.900 回答
2

每次对 SharedPreferences 进行任何更改时,都必须添加 editor.commit()。

于 2012-10-15T15:09:14.313 回答