【问题标题】:Setting the value of a int on button click在按钮单击时设置 int 的值
【发布时间】:2014-04-12 21:03:55
【问题描述】:

点击按钮时如何设置int的值?

我试过这个:

    final int a1_val = 0;

    a1_btn.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {a1_val= a1_val+1;;};});

但它是说:最终的局部变量a1_val,因为它是在封闭类型中定义的,所以不能赋值。

【问题讨论】:

  • 就这么简单:a1_val = 1; 并从声明中删除 final
  • 如果我这样做,它会说:不能引用在不同方法中定义的内部类中的非变量 a1_val
  • 我认为你应该阅读一些关于变量范围的教程。对你有很大帮助。
  • @eeschimosu 将您的a1_val 声明为类变量。就这么简单。

标签: android eclipse onclick integer


【解决方案1】:

您需要进行 2 处更改。将 a1_val 的声明移出它所在的方法并靠近封闭类的顶部(在任何方法之外)。然后,从 a1_val 的声明中删除 final 关键字。

【讨论】:

  • 谢谢!似乎问题在于方法内部的整数声明!
【解决方案2】:
final int a1_val = 0; //here you have declarated thar a1_v1 is final = constant 

如果你想改变a1_v1的值:删除final

  int a1_val = 0; //delete final
  a1_btn.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
    a1_val= a1_val+1;
    };
   });

【讨论】:

  • 如果我这样做,它会说:不能引用以不同方法定义的内部类中的非变量 a1_val
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-10
  • 2017-12-02
  • 2014-07-03
  • 1970-01-01
  • 2020-03-31
  • 2020-08-28
  • 1970-01-01
相关资源
最近更新 更多