3

助けが必要です。私は新しい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;
    }

この問題を解決するにはどうすればよいですか?

4

2 に答える 2

3

editor.commit();の変更が完了したら、を追加しますSharedPreferences

于 2012-10-15T15:07:40.900 に答える
2

SharedPreferences に変更を加えるたびに、editor.commit() を追加する必要があります。

于 2012-10-15T15:09:14.313 に答える