Существует несколько контекстов, чтобы посмотреть на этот сценарий.
- если мы используем одно предпочтение в действии, тогда мы используем метод
getPreferences()
, чтобы получить общие предпочтения, иначе мы пойдем на getSharedPreferences()
метод.чтобы посмотреть больше, пожалуйста, обратитесь: https://developer.android.com/training/data-storage/shared-preferences - , чтобы сохранить в общих настройках, что мы должны использовать метод
editor.apply()
или editor.commit()
, чтобы посмотреть больше, пожалуйста, обратитесь: В чем разница между commit ()и применить () в Общем предпочтении .Здесь a хотел бы предложить вам использовать метод editor.commit()
, чтобы вы могли получить ответ о сохранении значения в общих настройках.
и еще одна вещь заключается в том, что если вы хотите сохранить imageId
в общих настройках, для этого вам сначала нужно получить идентификатор ресурса изображения, который сохранит его в настройках.например:
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);
}
, если требуется какая-либо другая помощь, так что, пожалуйста, добро пожаловать, и я надеюсь сделать правильный поток общих настроек, эта проблема будет решена, если и только если остальная часть кода работает нормально.спасибо.