android 将字符串时间值set DatePicker 代码举例
时间: 2024-09-17 08:02:13 浏览: 53
Android开发中DatePicker日期与时间控件实例代码
在Android中,如果你想将字符串时间值设置到DatePicker组件上,通常你会先解析字符串并转换成Date对象,然后设置给DatePicker。以下是一个简单的例子:
```java
import android.app.DatePickerDialog;
import android.os.Bundle;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private EditText editTextTime; // 假设EditText保存了从服务器获取的时间字符串
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editTextTime = findViewById(R.id.edit_text_time); // 获取EditText
String timeString = "2023-04-01"; // 假设这是你要设置的时间字符串
try {
// 解析字符串到Date对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(timeString);
// 创建DatePickerDialog
DatePickerDialog dialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
String formattedDate = sdf.format(new java.util.Calendar(year, monthOfYear, dayOfMonth).getTime()); // 格式化日期
editTextTime.setText(formattedDate); // 更新EditText显示新日期
Toast.makeText(MainActivity.this, "Selected date: " + formattedDate, Toast.LENGTH_SHORT).show();
}
}, date.getYear(), date.getMonth(), date.getDate());
// 显示DatePicker
dialog.show();
} catch (ParseException e) {
Toast.makeText(this, "Invalid date format", Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
}
}
```
在这个示例中,我们假设输入的是"年-月-日"格式的字符串,并通过`SimpleDateFormat`进行解析。然后创建了一个DatePickerDialog,当用户选择日期后,会更新EditText的内容。
阅读全文