gpt4 book ai didi

java - android复选框首选项获取和设置 boolean 值

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

我是 android 的初学者,我尝试制作一个带有首选项 Activity 的简单手电筒应用程序。所以我的问题是;我想通过复选框使灯光和声音设置可选。

设置.xml

  <PreferenceCategory
android:title="@string/sct_behaviour">

<CheckBoxPreference
android:key="pref_light"
android:title="@string/st_pref_light"
android:summary="@string/ss_pref_light"
android:defaultValue="true"
/>
<CheckBoxPreference
android:key="pref_switch_sound"
android:title="@string/st_pref_sound"
android:summary="@string/ss_pref_sound"
android:defaultValue="true"
/>
<CheckBoxPreference
android:key="pref_notification_sound"
android:title="@string/st_pref_notification_sound"
android:summary="@string/ss_pref_notification_sound"
android:defaultValue="true"
/>

设置.java

public class Settings extends PreferenceActivity{

@SuppressWarnings("deprecation")
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings);

CheckBoxPreference pLight = (CheckBoxPreference)getPreferenceManager().findPreference("pref_light");

pLight.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {

@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {

boolean myValue = (Boolean) newValue;

if(myValue){
}

//NEED SOME HELP IN THERE


return true;
}
});

我的 turnOnFlash 函数;

 private void turnOnFlash() {
if (!isFlashOn) {
if (camera == null || params == null) {
return;
}

params = camera.getParameters();
params.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(params);
camera.startPreview();
isFlashOn = true;

// changing button/switch image
toggleButtonImage();

// play sound
playSound();
}
}

启动函数

@Override
protected void onStart() {
super.onStart();
if(VERBOSE) Log.v(TAG, "++ ON START ++");
// on starting the app get the camera params
getCamera();
turnOnFlash(value);
}

我想根据用户的选择将这个 true 或 false 值设置为 onStart 循环。并且不知道如何进行此实现。

最佳答案

如果我理解正确,你应该在 Resume() 上获得偏好并采取相应的行动:

protected void onResume() {
super.onResume();
if(VERBOSE) Log.v(TAG, "++ ON START ++");
// on starting the app get the camera params

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
boolean lightPref = prefs.getBoolean("pref_light", true);
getCamera();
turnOnFlash(lightPref);
}

关于java - android复选框首选项获取和设置 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22887515/

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