使用CalendarView中的日期和TimePicker中的时间填充EditText

时间:2017-05-22 08:30:36

标签: java android eclipse

我正在使用Eclipse构建Android应用程序,我有一个Activity有2个EditTexts,当我点击它们时,他们会将我重定向到另一个活动,然后我将从CalendarView中选择一个日期,从TimePicker中选择时间。之后,我将点击Done,它会将我重新定向回上一个Activity,并填充EditText。

现在,我的问题是,如何使用在Calendar / Ddyy和24hr格式的CalendarView和TimePicker中选择的日期和时间填充EditText? 我尝试过使用Intent,但我不知道如何编写代码。

这是我的部分代码:

public class RentStartActivity extends Activity {
CalendarView calendar1;
TimePicker time1;
Button btnCancel1, btnDone1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_rent_start);
    btnCancel1 = (Button) findViewById(R.id.btnCancel1);
    btnCancel1.setOnClickListener(new OnClickListener(){
        public void onClick(View v){
            Intent cancel = new Intent(RentStartActivity.this, SearchActivity.class);
            startActivity(cancel);
        }
    });

    btnDone1 = (Button) findViewById(R.id.btnDone1);
    btnDone1.setOnClickListener(new OnClickListener(){
        public void onClick(View v){
            Intent done = new Intent(RentStartActivity.this, SearchActivity.class);
            done.putExtra("Date1", calendar1.getDate());
            done.putExtra("Time", time1.getDrawingTime());
            startActivity(done);
        }
    });
}

2 个答案:

答案 0 :(得分:0)

您可以使用 startActivityForResult ()和 onActivityResult()在活动之间发送数据。

查看以下链接: How to manage `startActivityForResult` on Android?

https://developer.android.com/training/basics/intents/result.html

答案 1 :(得分:0)

使用startActivityForResult() 在您的SearchActivity中:

    Intent i = new Intent(this, RentStartActivity.class);
    startActivityForResult(i, 1);
在RentStartActivity中

btnDone1 = (Button) findViewById(R.id.btnDone1);
btnDone1.setOnClickListener(new OnClickListener(){
    public void onClick(View v){
        Intent done = new Intent();
        done.putExtra("Date1", calendar1.getDate());
        done.putExtra("Time", time1.getDrawingTime());
        setResult(Activity.RESULT_OK,done);
        startActivity(done);
        finish();
    }
});

并获取SearchActivity中的数据:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (requestCode == 1) {
        if(resultCode == Activity.RESULT_OK){
            String date = data.getStringExtra("Date1");
            String time = data.getStringExtra("Time");
        }
        if (resultCode == Activity.RESULT_CANCELED) {
            //Write your code if there's no result
        }
    }
}

格式化日期时间您可以访问here