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

时间:2012-04-12 10:01:16

标签: android textview togglebutton

我有一个切换按钮,当设置为开启位置时,将提示设置为我的一个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");

3 个答案:

答案 0 :(得分: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");

答案 1 :(得分:0)

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

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

tw1.setHint( “公斤”);

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

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

最好的方法是使用具有内置开/关状态的ToggleButton,这样你就不需要你的on boolean标志并根据按钮状态设置提示。

答案 2 :(得分:0)

尝试

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