我正在使用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);
}
});
}
答案 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。