繁体   English   中英

android切换按钮状态设置texview文本

[英]android toggle button state set texview text

我有一个切换按钮,当设置为打开位置时,将提示设置为我的textview之一

“公斤”

文本视图的初始提示是

“ st”

如果切换开关处于关闭位置,则应显示该信息。

当我第一次启动该应用程序时,textview消失

“ st”

(首先,因为拨动开关处于关闭位置,这是可以的)现在当我按拨动开关时,它会转到打开位置并显示

“公斤”

在textView中(也可以)。

现在出现了问题。 如果我再次单击切换(关闭位置),则textView保持为

“公斤”

有谁知道我如何将其设置为始终在关闭状态下显示“ st”而在打开状态下始终显示“ kg”。

提前谢谢了

addListenerOnButton();

      }

      public void addListenerOnButton() {

        unitToggle = (Button) findViewById(R.id.unitToggle);
       final TextView tw1 = (TextView)findViewById(R.id.tw1);


        unitToggle.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {

               StringBuffer result = new StringBuffer();
               tw1.setHint("kg");
 unitToggle.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {

           StringBuffer result = new StringBuffer();
           if(tw1.getHint().toString().equals("kg"))
                tw1.setHint("st");             
           else
                tw1.setHint("kg");

出现上述问题的主要原因是尚未实施的逻辑。

首次单击该按钮时,它将文本设置为“ kg”,它将始终设置为任意点击次数。 因为您已经写了声明

tw1.setHint(“ kg”);

在您的onClick()方法中而不保留按钮的状态。 强调文字

为了使其正确,请使用布尔标志,并在每次单击时更改其状态,并根据标志值设置文本。

最好的方法是使用ToggleButton,它具有内置的开/关状态,因此您无需具有on boolean标志并根据按钮状态设置提示。

尝试

private boolean on=false;

 unitToggle.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {

           StringBuffer result = new StringBuffer();
           if(on){
                tw1.setHint("kg");
                on = true;
           }else{
               tw1.setHint("st");
               on = false;
           }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM