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";

また、参照のコピーを渡しているので、2番目の解決策も問題ないようです。何が悪いの?

于 2013-10-16T12:23:56.800 に答える
0

final 変数を使用するか、onCreate()メソッドの外で宣言します

于 2013-10-16T12:24:51.743 に答える