2017-03-14 13 views
-2

私はこれについて明確な答えを見つけることができません。アンドロイドの断片に2つの日付ピッカーを実装する最も簡単な方法は何ですか?

アンドロイドの断片に2つの日付ピッカーを実装する最も簡単な方法は何ですか?

ユーザーが各ボタンを押すとダイアログが表示され、ユーザーがボタンを選択したときに戻り値が表示されます。

+0

は、単に2日付ピッカー]ダイアログボックスを使用しています。何が問題なの? – user392117

答えて

1

ボタンをクリックし、これを試してみてください:

int select_date = 1; 


    et_date1.setOnClickListener(new View.OnClickListener() { 
     @Override 
      select_date = 1; 
      showDatePickerDialog(); 
     } 
    }); 

    et_date2.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      select_date = 2; 
      showDatePickerDialog(); 
     } 
    }); 

showDatePickerDialog:

private void showDatePickerDialog() { 
    DialogFragment newFragment = new DatePickerFragment(); 
    newFragment.show(getChildFragmentManager(), "datePicker"); 
    } 

DatePickerFragment:

public static class DatePickerFragment extends DialogFragment implements 
     DatePickerDialog.OnDateSetListener { 

    @NonNull 
    @Override 
    public Dialog onCreateDialog(Bundle savedInstanceState) { 
     // Use the current date as the default date in the picker 
     final Calendar c = Calendar.getInstance(); 
     int year = c.get(Calendar.YEAR); 
     int month = c.get(Calendar.MONTH); 
     int day = c.get(Calendar.DAY_OF_MONTH); 

     // Create a new instance of DatePickerDialog and return it 
     DatePickerDialog date_picker = new DatePickerDialog(getActivity(), this, year, month, day); 

     return date_picker; 
    } 

    public void onDateSet(DatePicker view, int year, int month, int day) { 
     // Do something with the date chosen by the user 
     String str_date = day + "/" + (month + 1) + "/" + year; 
     if (select_date == 1) { 
      et_date1.setText(str_date); 
     } else { 
      et_date2.setText(str_date); 
     } 
     select_date = 0; 
    } 
} 
1

あなたはいつもそれを作るためにコードのあなたのラインを提供する必要がありますより簡単に皆があなたが探しているものとあなたを正しく助ける方法を知ることができます。

しかし、ここでコールすると、それは日付ピッカーを生成する簡単な方法は次のとおりです。

private void showDatePickerDialog(final EditText view) { 
    /** 
    * @author Mohammed Al-Safwan 
    * **/ 
    final Calendar c = Calendar.getInstance(); 
    int mYear = c.get(Calendar.YEAR); // current year 
    int mMonth = c.get(Calendar.MONTH); // current month 
    int mDay = c.get(Calendar.DAY_OF_MONTH); // current day 

    DatePickerDialog datePickerDialog = new DatePickerDialog(mContext, new DatePickerDialog.OnDateSetListener() { 
     /** 
     * 
     * @param year selected year. 
     * @param month selected month. 
     * @param day selected day. 
     * **/ 
     @Override 
     public void onDateSet(DatePicker datePicker, int year, int month, int day) { 

     } 


    }, mYear, mMonth, mDay); 

    // finally, show your dialog 
    datePickerDialog.show(); 
} 
関連する問題