问题是如何在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中定义字符串,因为我必须多次使用它。
答案 0 :(得分:2)
将其设为final
:
final String number = "555 12345";
第二种解决方案似乎也正常,因为你传递的是参考文献的副本。这有什么不妥?
答案 1 :(得分:0)
使用final变量或在onCreate()
方法