【问题标题】:Set up a button to switch between Capital letters and small letters in EclipseEclipse中设置大写小写切换按钮
【发布时间】:2015-02-18 10:32:52
【问题描述】:

大家好,在这方面真的需要一点帮助。我想使用具有 2x 功能的 1x 按钮。如果某种 IF 声明但不确定如何执行,我相信答案。我希望用户按下一个按钮来改变屏幕上的图像。然后当再次按下它时,它会恢复到原来的图像。


目前使用两个按钮(切换),另一个是(切换),如下所示

    // Button changes the letter images to Small Letters from Capital Letters
            btnswitchback = (Button) findViewById(R.id.btnswitchback);
            btnswitchback.setOnClickListener(new OnClickListener() {
                public void onClick(View v) {
                    // When user clicks button it Changed each letter to small case
                    buttona.setBackgroundResource(R.drawable.a);
                }
            });

    // Button changes the letter images to Small Letters from Capital Letters
            btnswitch = (Button) findViewById(R.id.btnswitch);
            btnswitch.setOnClickListener(new OnClickListener() {
                public void onClick(View v) {
                    // When user clicks button it Changed each letter to small case
                    buttona.setBackgroundResource(R.drawable.aa);
                }
            });

有什么想法吗?

提前致谢

【问题讨论】:

  • 使用标志并在单击时将其设置为true..并第一次更改图像,第二次如果将标志视为true则再次更改图像...然后设置标志为假。

标签: android eclipse button


【解决方案1】:

如果不想重复代码,可以这样判断哪个按钮被点击了:

Button btnSwitchBack = (Button) findViewById(R.id.btnswitchback);
Button btnSwitch = (Button) findViewById(R.id.btnswitch);

OnClickListener listener = new OnClickListener() {
    public void onClick(View v) {
        switch (v.getId()) {
        case R.id.btnswitchback:
            // switch back button clicked
            // do stuff here
            break;
        case R.id.btnswitch:
            // switch button clicked
            // do other stuff here
            break;
        }
    }
};

btnSwitch.setOnClickListener(listener);
btnSwitchBack.setOnClickListener(listener);

【讨论】:

  • 我用过这个,效果很好,谢谢你的快速回答
【解决方案2】:

这是您可以使用相同按钮执行此操作的简单方法。设置一个标志并相应地切换它。

Int click = 0;

btnswitch = (Button) findViewById(R.id.btnswitch);
            btnswitch.setOnClickListener(new OnClickListener() {
                public void onClick(View v) {
                    // When user clicks button it Changed each letter to small case
                   if(click == 0){
                     click = 1;
                    buttona.setBackgroundResource(R.drawable.a);
                    }
                  if(click == 1){
                     click = 0;
                    buttona.setBackgroundResource(R.drawable.aa);
                    }
                }
            });

否则你可以在android中使用ToggleButtons

ToggleButton toggle = (ToggleButton) findViewById(R.id.togglebutton);
toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        if (isChecked) {
            // The toggle is enabled
        } else {
            // The toggle is disabled
        }
    }
});

【讨论】:

  • 感谢您的快速回答,我对此进行了测试,并且切换也是一种选择,但我将把它保存为未来的一个很好的例子,所以谢谢
  • 我使用切换按钮设置点击直接进入下一个 if 条件,无需用户再次按下相同的按钮。
猜你喜欢
  • 2013-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-05
  • 2020-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多