以编程方式更改 ToggleButton 的状态

Change State of ToggleButton programmatically

我已经放置了一个 ID 为 toggleButton 的切换按钮

我正在使用下面的代码来检查它是打开还是关闭

public void toggleClick(View view){

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

}else{

}

}

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

我试过这个:

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

有什么想法吗?

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

 *

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();
    }

希望对您有所帮助。

使用setChecked(boolean checked)举例:

toggleButtons.setChecked(true)