【问题标题】:How do I use onClickListener to count the number of times a button is pressed?如何使用 onClickListener 计算按钮被按下的次数?
【发布时间】:2011-12-05 14:23:07
【问题描述】:

我想计算一个按钮(动态创建的)被按下的次数。 实际上,问题是我找不到从 onclicklistener 返回任何内容的方法,因为 onClick 是 Void 并且 onclicklistener 只能作为视图返回。

public  View.OnClickListener evenbutton(final Button inputbutton,
                                        final LinearLayout layout,
                                        final Button[] wholebutton,
                                        final int count){
    return new View.OnClickListener(){
        public void onClick(View v){
          //stuff
        }
    }
}; 

所以,现在我无法计算或返回 onClick 中的任何其他内容。

当按钮被按下时,我如何计算或到达 onclicklistener 之外的任何内容?

【问题讨论】:

    标签: android button


    【解决方案1】:

    您可以增加类中声明的静态字段。

    【讨论】:

      【解决方案2】:

      您可以调用计算点击次数的函数,例如:

      public void onClick(View v)
      {
          countClick();
      }
      

      然后声明你的函数

      public void countClick(){
          myClickCount++;
      }
      

      希望这会有所帮助...

      【讨论】:

        【解决方案3】:

        分配一个全局 int i。并在每次单击按钮时继续递增它。

        将“东西”替换为

        i=i+1;

        【讨论】:

        • 行不通,因为我需要是 final 才能在内部类中使用。显然不可能。 @oriolpons 解决方案将起作用。
        【解决方案4】:

        我认为您可以为此目的使用 SharedPreferences。每次单击按钮时,您都可以阅读您的偏好,更改并保存。此外,它是文档中建议的数据存储方式之一:http://developer.android.com/guide/topics/data/data-storage.html#pref

        【讨论】:

          猜你喜欢
          • 2014-10-04
          • 1970-01-01
          • 1970-01-01
          • 2014-12-06
          • 1970-01-01
          • 2018-05-26
          • 2020-05-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多