复选框没有给出正确的状态

时间:2013-06-09 14:46:54

标签: java android

我的应用程序中有一个复选框,用于启用\禁用蓝牙..问题是如果我从Android设置(在此应用程序之外)打开\关闭然后该复选框没有更新,如果在应用程序复选框中检查是否意味着蓝牙启用所以现在如果我从切换或系统 - >设置禁用蓝牙,然后转到我的应用程序然后仍然检查该复选框...如何获得该框的正确状态..(使用片段)

final BluetoothAdapter myBTadapter;
final Integer REQ_BT_ENABLE=1;
CheckBox enable;

myBTadapter=BluetoothAdapter.getDefaultAdapter();
enable=(CheckBox)vv.findViewById(R.id.cboxEnable);
enable.setOnCheckedChangeListener(new OnCheckedChangeListener(){
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked){    
        if(buttonView.isChecked()){
            if(myBTadapter==null){
                Toast.makeText(getActivity().getApplicationContext(),
                        "Device doesn't support Bluetooth",
                        Toast.LENGTH_LONG).show();
            }
            else{
                if(!myBTadapter.isEnabled()){
                    Intent enableBtIntent = new Intent(BluetoothAdapter.); 
                    startActivity(enableBtIntent);
                }
            }
        }
        else{
            Toast.makeText(getActivity().getApplicationContext(),
                    "Disabling Bluetooth!!", Toast.LENGTH_LONG).show();
            myBTadapter.disable();
        }
    }
});

1 个答案:

答案 0 :(得分:0)

在onResume()方法中尝试这个:

if(myBTadapter.isEnabled()) {
    enable.setChecked(true); 
} else {
    enable.setChecked(false); 
}