我正在开发一款Android app&我现在被困住了。该应用程序有一个EditText,Button和两个DatePickers。我希望用户插入一个数字,然后在第一个DatePicker上选择一个日期,当选择该按钮时,我希望插入的数字与所选日期一起添加。示例:如果用户在EditText上插入4并在DatePicker上选择2014年2月10日,则新日期应为2014年2月14日“4 + 10 = 14”我希望新日期显示在第二个DatePicker&它不应该是可编辑的。请帮帮我
答案 0 :(得分:0)
试试这个:
final SimpleDateFormat dateFormatUs = new SimpleDateFormat("yyyy-mm-dd", Locale.US);
private void changeDate() {
Calendar calendar = Calendar.getInstance();
String date = editText.getText().toString();
/*make your counts*/
Date dataSet = null;
try {
dataSet = dateFormatUs.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
calendar.setTime(dataBeginSet);
}
答案 1 :(得分:0)
我不确定这是否是你要找的,但我为你编了一个样本。
MainActivity.java
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
findViewById(R.id.computeDate).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
EditText days = (EditText) findViewById(R.id.daysEditText);
DatePicker datePicker = ((DatePicker) findViewById(R.id.datePicker));
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH, datePicker.getDayOfMonth());
cal.set(Calendar.MONTH, datePicker.getMonth());
cal.set(Calendar.YEAR, datePicker.getYear());
cal.add(Calendar.DAY_OF_YEAR, Integer.parseInt(days.getText().toString()));
DatePicker computedDatePicker = ((DatePicker) findViewById(R.id.computedDatePicker));
computedDatePicker.updateDate(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));
}
});
}
}
main_activity.xml
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<EditText
android:id="@+id/daysEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:layout_gravity="center_horizontal" />
<DatePicker
android:id="@+id/datePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:calendarViewShown="false"
android:layout_gravity="center_horizontal" />
<Button
android:id="@+id/computeDate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Compute"
android:layout_gravity="center_horizontal" />
<DatePicker
android:id="@+id/computedDatePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:calendarViewShown="false"
android:layout_gravity="center_horizontal" />
</LinearLayout>
</ScrollView>