【问题标题】:How do I pass the additional parameter to the onClick method?如何将附加参数传递给 onClick 方法?
【发布时间】:2014-09-17 01:48:36
【问题描述】:

我想将我的方法中的 a 传递给单击按钮的方法。

生成a的方法:

public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
             String str = arg0.getItemAtPosition(arg2).toString();

             double a = 0;

             switch(arg2){

             case 0:
                  a = 4;
                 break;

             case 1:
                 a = 3.75;
                 break;

             case 2:
                 a = 3.50;
                 break;

             case 3:
                 a = 3.25;
                 break;
             case 4:
                 a = 3;
                 break;
             case 5:
                 a = 2.75;
                 break;
             case 6:
                 a = 2.5;
                 break;
             case 7:
                 a = 2.25;
                 break;


             }

按钮点击方法

public void button(View v){

}

【问题讨论】:

  • 这里没有问题
  • 你的“按钮方法”在哪里?
  • 您正在成为范围的受害者。您需要将 a 的范围设为整个类,而不仅仅是您的方法。有关如何将其移动到类字段变量的信息,请参见 MrEngineer13 的答案。长话短说,将 a 的声明移到您的活动类范围内。
  • stackoverflow.com/questions/10614696/… 向您展示如何创建自己的点击监听器,您可以在其中传递其他参数

标签: android


【解决方案1】:

a 设为您的活动字段,而不是像这样的实例变量:

public class MyActivity extends Activity {

double a = 0;

...

}

【讨论】:

  • 什么代码?您需要在代码中更改的所有内容是剪切 double a = 0; 行并将其粘贴到活动类的顶部
  • 非常感谢@MrEngineer,它现在可以工作了,我明白了。谢谢大家
  • 如果这个答案对你有帮助,你能接受吗?谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-01
  • 2015-03-03
  • 2022-08-02
  • 1970-01-01
  • 1970-01-01
  • 2011-12-21
  • 2013-01-09
相关资源
最近更新 更多