将字符串传递给setOnClickListener

时间:2014-01-22 20:36:04

标签: java android

报告前等待!!! 我阅读了有关“使用setOnClickListener传递参数”的所有内容,但我没有找到解决问题的方法。

String citazione = new String(data[position]);
share_btn.setOnClickListener(new View.OnClickListener(){
    public void onClick(View v){
        Intent sendIntent = new Intent();
        sendIntent.setAction(Intent.ACTION_SEND);
        sendIntent.putExtra(Intent.EXTRA_TEXT, citazione);
        sendIntent.setType("text/plain");
        v.getContext().startActivity(Intent.createChooser(sendIntent, v.getResources().getText(R.string.send_to)));
    }
});

我应该将字符串“citazione”放在6行中,但我无法编辑View v,因为我在8行中使用它。 我曾尝试过(getContext()startActivity(),之前的v),但没有尝试过。

我该怎么办?

2 个答案:

答案 0 :(得分:2)

最后决定:

final String citazione = new String(data[position]);

答案 1 :(得分:0)

首先,我会像这样在XML中声明onClick:

<Button 
...
android:onClick="onButtonClick"
....
/>

然后我会让citazione成为一个类变量

private String citazione;

活动中的onClick按钮将是

public void onButtonClick(View view) {
    //do what you want here with citazione
}