gpt4 book ai didi

java - 保存和加载使用过的图像

转载 作者:行者123 更新时间:2023-11-29 02:25:02 25 4
gpt4 key购买 nike

我有一个测试应用程序可以更改按钮上的图像。我的测试应用程序应该有 3 个功能。 1.当你点击图片按钮时,将按钮的背景图片从图片0更改为图片1。(我可以做到)当您单击保存按钮时,应记录哪个图像位于图像按钮上。 (我做不到) 当您重新启动应用程序时,当您单击加载按钮时,图像应该出现在使用保存按钮保存的图像按钮上

@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnSave:
saveText();
break;
case R.id.btnLoad:
loadText();
break;
case R.id.cardButton:
cardButton.setImageResource(R.drawable.n01);
cardButton.setTag(R.drawable.n01);
Integer resource = (Integer)cardButton.getTag();
default:
break;
}
}
void saveText() {
sPref = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor ed = sPref.edit();
"some code"
ed.apply();
Toast.makeText(this, "Text saved", Toast.LENGTH_SHORT).show();
}
void loadText() {
sPref = getPreferences(MODE_PRIVATE);
"some code"
Toast.makeText(this, "Text loaded", Toast.LENGTH_SHORT).show();
}

最佳答案

有多个上下文可以查看此场景。

  1. 如果我们在 Activity 中使用单一首选项,那么我们使用 getPreferences() 方法来获取共享首选项,否则我们将使用 getSharedPreferences() 方法。查看更多请引用:https://developer.android.com/training/data-storage/shared-preferences
  2. 要保存到共享首选项中,我们应该使用 editor.apply() 方法或 editor.commit() 方法查看更多信息,请参阅:What's the difference between commit() and apply() in Shared Preference .这里想建议您使用 editor.commit() 方法,这样您就可以获得将值保存到共享首选项中的响应。

还有一件事是,如果您想将 imageId 保存在共享首选项中,您首先必须获取将其保存在首选项中的图像资源 ID。喜欢:

 ImageView imageView = (ImageView)findViewById(R.id..imageName);
int imageid = getResourceId(this,"profiles","drawable", getPackageName());
//save this imageid into your shareedPreferences and getback when you return.
// set this image id into the imageVire
imageView.setImageResouce(imageid);

public static int gerResourceId(context context, String variableName, String resourceName, String pakageName) throws RuntimeException{
return context.getResources().getIdentifier( variableName, resourceName, pakageName);
}

如果需要任何其他帮助,非常欢迎,我希望正确地共享首选项流程当且仅当其余代码工作正常时,此问题才会解决。谢谢。

关于java - 保存和加载使用过的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52748452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com