抱歉我的英语不好。
在我的应用程序中,我有一个列表视图和一个用于创建相册的按钮(通过单击按钮应用程序,新项目添加到列表视图),通过单击每个列表视图项目,您可以转到该相册并上传/拍摄照片以供显示
用于在拍摄/选择后保存和检索照片我使用SharedPrefrence来保存和检索图像路径。 如你所见我没有预定义的SharedPrefrence,所以我使用这个我自己制作的方法: 在listview OnItemClickListener我制作这个“str”字符串并将其置于意图中它将被传递到我的第一个专辑页面:
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
String str = new String("album" + arg2);
Intent intent = new Intent(Albums.this, MainA.class);
intent.putExtra("extra", str);
startActivity(intent);
}
});
在这个过程之后,我在我的新活动中使用这个字符串作为我的共享偏见:
String str = getIntent().getExtras().getString("extra");
SharedPreferences settings = getSharedPreferences(str, 0);
通过这种方式,一切都很完美,但除非例如用户删除第二张专辑(Lisview中的第二个专辑),导致第三张专辑成为第二张专辑,因为我使用了位置int来指定共享优势,它将彻底销毁。 / p>
我不知道你是否能理解我的方式=),但是如果你做了我应该怎样做以避免这种情况?
这种方式对我来说是最好的方式吗?先谢谢。