我有一個作業應用程式,用戶從 Spinner 中選擇一個選項,日期選擇器自動打開用戶選擇日期并查看資料。但是,我試圖包含一個 Imagebutton(calendar),它打開一個日期選擇器,而不是選擇日期資料應該加載。該程序應該是:從微調器中選擇選項->通過單擊影像按鈕從日期選擇器中選擇日期->加載/顯示資料。
這是 imagebutton onclick 事件:
imageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final Calendar cldr = Calendar.getInstance();
int year = cldr.get(Calendar.YEAR);
int month = cldr.get(Calendar.MONTH);
int dayOfMonth = cldr.get(Calendar.DAY_OF_MONTH);
// date picker dialog
datePickerDialog = new DatePickerDialog(Dashboard.this,
AlertDialog.THEME_DEVICE_DEFAULT_DARK, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
Calendar calendar1 = Calendar.getInstance();
calendar1.set(year, month, dayOfMonth);
Date chosendate = calendar1.getTime();
calendar1.set(year, month, dayOfMonth);
chosendate = calendar1.getTime();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd",
Locale.JAPAN);
franchiseDate = formatter.format(chosendate);
}
}, year, month, dayOfMonth);
datePickerDialog.show();
datePickerDialog.getDatePicker().setMaxDate(cldr.getTimeInMillis());
}
這是微調器 onItemSelected 事件:
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int
position, long l) {
selectedItem = spinner.getSelectedItem().toString();
selectedPosition = spinner.getSelectedItemPosition();
if (selectedItem.equals("Revenue by Centre")) {
// String centerDate = franchiseDate;
Bundle bundle = new Bundle();
bundle.putString("authToken", authToken);
bundle.putString("centreDate", franchiseDate);
spinner.setEnabled(false);
Centre centre = new Centre();
centre.setArguments(bundle);
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction =
fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.multiFrame, Centre.class,
bundle);
fragmentTransaction.commit();
}
資料顯示在片段中,日期也是傳遞給片段類的var。如果我在 imageButton.setOnClickListener 事件中包含 spinner.setOnItemSelectedListener,則在我選擇新日期后正在加載資料,即選擇一個日期沒有資料再次選擇一個日期資料正在加載先前選擇的日期。
uj5u.com熱心網友回復:
已解決....呼叫onDateSet中的片段
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/471135.html
