【问题标题】:how to count click and show with Toast如何使用 Toast 计算点击和显示
【发布时间】:2015-09-28 16:59:52
【问题描述】:

当我尝试 android VM 循环时,我需要计算按钮的点击次数并显示在 TOAST 上

 final Button button= (Button) findViewById(R.id.button1);
    button.setOnClickListener(new View.OnClickListener() {
        int contadorClicks =0;
        public void onClick(View v) {
            //definir accion

            contadorClicks ++ ;

           Toast.makeText(getApplicationContext(), contadorClicks, Toast.LENGTH_LONG).show();
        }
    });

【问题讨论】:

  • “循环”是什么意思?
  • 在makeText方法中使用String.valueOf(contadorClicks)作为第二个参数
  • 试试static int contadorClicks
  • 你需要学习java

标签: android android-toast


【解决方案1】:

尝试: 创建 int contadorClicks = 0;类中的字段,即活动或片段 然后内部方法使用

 final Button button= (Button) findViewById(R.id.button1);
 button.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        //definir accion
        contadorClicks ++ ;
       Toast.makeText(getApplicationContext(), String.valueOf(contadorClicks), Toast.LENGTH_LONG).show();
    }
});

或者你可以这样做:

final Button button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            //definir accion
            Integer contadorClicks;
            if (v.getTag() == null) {
                contadorClicks = 0;
            } else {
                contadorClicks = (Integer) v.getTag();
            }
            contadorClicks++;
            v.setTag(contadorClicks);

            Toast.makeText(getApplicationContext(), String.valueOf(contadorClicks), Toast.LENGTH_LONG).show();
        }
    });

【讨论】:

    【解决方案2】:

    您需要定义要在 setOnClickListener 方法之外递增的变量。另外,正如我之前建议的那样,使用 String.valueOf(contadorClicks) 来获取 int 的字符串表示形式。

    int contadorClicks = 0;    
    
    final Button button = (Button) findViewById(R.id.button1);
    button.setOnClickListener(new View.OnClickListener() {
    
        public void onClick(View v) {
            //definir accion
    
            contadorClicks++;
    
           Toast.makeText(getApplicationContext(), String.valueOf(contadorClicks), Toast.LENGTH_LONG).show();
        }
    });
    

    【讨论】:

      【解决方案3】:

      发生的情况是您的变量 contadorClicks 始终为 0,因为每次单击按钮时都会创建它。您需要做的是将该变量放在 onClickListener 之外。希望这会有所帮助

      int contadorClicks = 0;
      final Button button= (Button) findViewById(R.id.button1);
          button.setOnClickListener(new View.OnClickListener() {
              public void onClick(View v) {
                  //definir accion
      
                  contadorClicks ++ ;
      
                 Toast.makeText(getApplicationContext(), contadorClicks, Toast.LENGTH_LONG).show();
              }
          });
      

      【讨论】:

        猜你喜欢
        • 2011-08-12
        • 1970-01-01
        • 2022-07-06
        • 2017-06-04
        • 1970-01-01
        • 2018-08-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多