以编程方式更改ToggleButton的状态

时间:2016-12-23 23:36:30

标签: android android-togglebutton

我已经放置了一个带有id toggleButton

的togglebutton

我正在使用下面的代码检查它是否开启

public void toggleClick(View view){

boolean on = ((ToggleButton) view).isChecked();
if(on){

}else{

}

}

一切正常......我正在尝试更改切换按钮的状态,我通过互联网尝试了很多代码,但没有一个将切换的状态更改为关闭。

我试过了:

ToggleButton toggleButtons;
toggleButtons  = (ToggleButton) findViewById(R.id.toggleButton); //In onCreate
toggleButtons.setChecked(false);

请问任何想法?

2 个答案:

答案 0 :(得分:0)

通过示例使用setChecked(boolean checked)

toggleButtons.setChecked(true)

答案 1 :(得分:-1)

我最终使用ImageButton使用Toggle功能。下面的代码工作正常。

 *

private ImageButton ib;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    //......
               ib = (ImageButton) rootView.findViewById(R.id.imagefavouriteButton);
                if (checkFavorite()) {
                    ib.setImageDrawable(ContextCompat.getDrawable(getContext(), R.drawable.fav_on));
                } else {
                    ib.setImageDrawable(ContextCompat.getDrawable(getContext(), R.drawable.fav_off));
                }
                ib.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        if (checkFavorite()) {
                            remFromFav();
                        } else {
                            addFavorites();
                        }
                    }
                });
    //.....
 }
    private boolean checkFavorite(){// code to check in db}
    public void addFavorites() {
        ib.setImageDrawable(ContextCompat.getDrawable(getContext(), R.drawable.fav_on));
        Toast.makeText(getActivity(), "Added ...", Toast.LENGTH_SHORT).show();
    }
    public void remFromFav() {
        ib.setImageDrawable(ContextCompat.getDrawable(getContext(), R.drawable.fav_off));
        Toast.makeText(getActivity(), "Removed ...", Toast.LENGTH_SHORT).show();
    }

希望这会对你有所帮助。