图像视图状态的共享首选项
shared preferences on image view state
如何使用 SharedPreferences 或其他任何方式保存可点击 ImageView 的状态或图像。我想在返回 activity 后显示保存的状态。我想在某些应用程序中实现类似收藏按钮的功能:
在我的 MainActivity 中:
final ImageView like = (ImageView) findViewById(R.id.like);
//set the click listener
like.setOnClickListener(new OnClickListener() {
public void onClick(View button) {
//Set the button's appearance
button.setSelected(!button.isSelected());
if (button.isSelected()) {
like.setBackgroundDrawable(null);
like.setBackgroundResource(R.drawable.starf);
} else {
like.setBackgroundResource(R.drawable.star);
}
}
});
和我的布局:
<ImageView
android:id="@+id/like"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="left"
android:paddingLeft="10dp"
android:paddingRight="40dp"
android:background="@drawable/star"
android:clickable="true" />
谢谢
我会使用类似的东西:
public void setButtonState(boolean selected){
SharedPreferences sharedPref = getSharedPreferences();
SharedPreferences.Editor editor = sharedPref.edit();
editor.putBoolean(Constants.LIKE_BUTTON_STATE_SELECTED, selected);
editor.apply();
}
public boolean isButtonSelected(){
return getSharedPreferences().getBoolean(Constants.LIKE_BUTTON_STATE_SELECTED, false);
}
然后,为了设置值:
final ImageView like = (ImageView) findViewById(R.id.like);
like.setSelected(isButtonSelected());
//set the click listener
like.setOnClickListener(new OnClickListener() {
public void onClick(View button) {
//Set the button's appearance
button.setSelected(!button.isSelected());
setButtonState(button.isSelected); //Here you store the value
if (button.isSelected()) {
like.setBackgroundDrawable(null);
like.setBackgroundResource(R.drawable.starf);
} else {
like.setBackgroundResource(R.drawable.star);
}
}
});
如何使用 SharedPreferences 或其他任何方式保存可点击 ImageView 的状态或图像。我想在返回 activity 后显示保存的状态。我想在某些应用程序中实现类似收藏按钮的功能:
在我的 MainActivity 中:
final ImageView like = (ImageView) findViewById(R.id.like);
//set the click listener
like.setOnClickListener(new OnClickListener() {
public void onClick(View button) {
//Set the button's appearance
button.setSelected(!button.isSelected());
if (button.isSelected()) {
like.setBackgroundDrawable(null);
like.setBackgroundResource(R.drawable.starf);
} else {
like.setBackgroundResource(R.drawable.star);
}
}
});
和我的布局:
<ImageView
android:id="@+id/like"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="left"
android:paddingLeft="10dp"
android:paddingRight="40dp"
android:background="@drawable/star"
android:clickable="true" />
谢谢
我会使用类似的东西:
public void setButtonState(boolean selected){
SharedPreferences sharedPref = getSharedPreferences();
SharedPreferences.Editor editor = sharedPref.edit();
editor.putBoolean(Constants.LIKE_BUTTON_STATE_SELECTED, selected);
editor.apply();
}
public boolean isButtonSelected(){
return getSharedPreferences().getBoolean(Constants.LIKE_BUTTON_STATE_SELECTED, false);
}
然后,为了设置值:
final ImageView like = (ImageView) findViewById(R.id.like);
like.setSelected(isButtonSelected());
//set the click listener
like.setOnClickListener(new OnClickListener() {
public void onClick(View button) {
//Set the button's appearance
button.setSelected(!button.isSelected());
setButtonState(button.isSelected); //Here you store the value
if (button.isSelected()) {
like.setBackgroundDrawable(null);
like.setBackgroundResource(R.drawable.starf);
} else {
like.setBackgroundResource(R.drawable.star);
}
}
});