首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式更改ToggleButton的状态

以编程方式更改ToggleButton的状态
EN

Stack Overflow用户
提问于 2016-12-23 23:36:30
回答 2查看 1.4K关注 0票数 0

我放置了一个带有id togglebutton的切换按钮

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

代码语言:javascript
复制
public void toggleClick(View view){

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

}else{

}

}

一切正常..。我试图改变切换按钮的状态,我尝试了很多代码通过互联网,但没有任何改变状态的切换关闭。

我试过这个:

代码语言:javascript
复制
ToggleButton toggleButtons;
toggleButtons  = (ToggleButton) findViewById(R.id.toggleButton); //In onCreate
toggleButtons.setChecked(false);

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-24 00:30:55

通过示例使用setChecked(boolean checked)

代码语言:javascript
复制
toggleButtons.setChecked(true)
票数 0
EN

Stack Overflow用户

发布于 2016-12-24 00:28:38

最后,我使用了ImageButton的Toggle特性。下面的代码运行良好。

代码语言:javascript
复制
 *

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

希望这能帮到你。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41308952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档