2

问题是如何在 onclick 方法中使用变量,例如:

String number = "555 12345";

     callbutton.setOnClickListener(new onClickListener(){

            @Override
            public void onClick(View view) {

                Intent phoneCallIntent = new Intent(Intent.ACTION_CALL);
                phoneCallIntent.setData(Uri.parse(number));
                startActivity(phoneCallIntent);

            }
    });

我尝试了这个解决方案但失败了。为 onclicklistener 制作自定义类。

String number = "555 12345";

bt.setOnClickListener(new CallButtonClickListener(number){});


public class CallButtonClickListener implements OnClickListener
{


  String num;
  public CallButtonClickListener(String number) {
       this.num = number;
  }

  @Override
  public void onClick(View v)
  {
        Intent phoneCallIntent = new Intent(Intent.ACTION_CALL);
        phoneCallIntent.setData(Uri.parse(num));
        startActivity(phoneCallIntent);
  }

};

}

如何将字符串传递给 onclick?我无法在 onclick 中定义字符串,因为我必须多次使用它。

4

2 回答 2

2

让它final

final String number = "555 12345";

此外,当您传递参考副本时,第二个解决方案似乎也不错。它有什么问题?

于 2013-10-16T12:23:56.800 回答
0

使用最终变量或在onCreate()方法之外声明它们

于 2013-10-16T12:24:51.743 回答