Android的切换按钮状态设置texview文本(android toggle button st

2019-10-16 14:51发布

我有一个切换按钮,当设置为ON位置设置提示我的TextView之一

“公斤”

。 文本视图的初始提示是

“ST”

应所示如果切换是在关闭位置。

当我第一次启动应用程序TextView的dispalys

“ST”

(起初是确定作为肘节处于关闭位置)现在,当我按下切换它转动到接通位置,并显示

“公斤”

在TextView的(这也行。)

现在问题来了。 如果我点击切换一次(OFF位置)的TextView保持原样

“公斤”

没有人知道如何我可以将其设置为在“在关闭状态和ST‘公斤’始终显示在状态。

提前谢谢了

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");

Answer 1:

 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");


Answer 2:

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

当您单击按钮,第一次它设置文本为“公斤”,这将始终设置任意数量的点击。 因为你写的声明

tw1.setHint( “公斤”);

里面没有保持按钮的状态您的onClick()方法。 强调文本

为了使其正确使用布尔标志,并更改每个点击其状态,并设置基于标志值的文本。

要做到这一点,最好的办法是使用切换按钮具有开/关状态内置的,所以你不需要有布尔标志的设置,并根据按钮状态的提示。



Answer 3:

尝试

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


文章来源: android toggle button state set texview text