2012-08-14 157 views
0

我想设置一个自定义切换按钮,其中我使用Imagebutton和两个不同的图像来显示哪个状态切换。现在我可以切换画面监听点击:与共享首选项的自定义切换按钮

togglebtn = (ImageButton) findViewById(R.id.togglebtn); 
     togglebtn.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       togglebtn.setImageResource(R.drawable.offbtn); 
      } 
     }); 

但我不知道如何使用sharepreferences保存状态的用户选择。我想使用一个布尔值,但是我发现所有布尔值的例子都是特定于复选框的,而不是像这样。

如何保存我的切换按钮的状态?

回答

1

尝试类似的东西(编码出来的头)

editor = sharedPreferences.edit(); 

boolean b = true; 
editor.putBool("myBoolean", b); 
editor.commit(); 

我会建议你保存的onPause()你的活动,而不是因为的onClick我认为它是昂贵的。

0

进一步来自@Anthea关于偏好的评论,你不应该使用ImageButton。

有用于布尔选项实现的ToggleButton,CheckBox和Switch。你应该检查它们。 您也不应该以编程方式更改绘图。你可以/应该设置一个选择器可绘制的XML,按下并不按下,并将它们设置在布局上。

+0

注意标题。 – Nick 2012-08-14 15:34:58

+0

仍然是一个切换按钮。无需重新编写现有功能。可切换的更改功能默认情况下在ToggleButton上提供,因此我建议您应该扩展它,并只担心代码的真正自定义部分。 – Budius 2012-08-14 15:42:04