如何将值从Button.setOnClickListener传递给onDateSet Android

时间:2014-03-14 16:52:26

标签: java android

我有一个名为InboxActivity的类,我在其中使用了datepicker,我需要传递一些数据(它是一个字符串var,如下所示:String test =“aa”;)来自

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_inbox);



        btn_outbox = (Button)findViewById(R.id.btn_outbox);
        btn_outbox.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {

                    **FROM HERE!!!!**

            }
        }); 

到这里:

    DatePickerDialog.OnDateSetListener d = new DatePickerDialog.OnDateSetListener() {


        public int Syear;
        public int Smonth;
        @Override

        public void onDateSet(DatePicker view, int year, int monthOfYear,
                int dayOfMonth) {
});

如何做到这一点?

1 个答案:

答案 0 :(得分:1)

我会尝试快速测试它,但我很确定如果你为你的类实现OnClickListener的接口,然后覆盖onClick(),你可以在你的类中使用私有变量来做你想要的。

public class InboxActivity extends Activity implements OnClickListener{
    ....

然后你的活动内部

private String data;

onCreate(Bundle savedInstanceState){
    ....
    btn_outbox.setOnClickListener(this);

    ....
    DatePickerDialog.OnDateSetListener d = new DatePickerDialog.OnDateSetListener(){

        public int Syear;
        public int Smonth;

        @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear,
                int dayOfMonth) {
            // Do what you need to, data string works here

        }

    };
}


onClick(View v){
    data = "some string";
}