2016-11-29 8 views
0

https://developer.android.com/guide/topics/ui/controls/pickers.htmlAndroid Studioで日付ピッカーを正しく作成するにはどうすればよいですか?私はここの指示に従ってい

私は「日付ピッカーの作成」を下にスクロールし、という名前のファイルにこのコードDatePickerFragment.java貼り付けコピー:

public static class DatePickerFragment extends DialogFragment 
          implements DatePickerDialog.OnDateSetListener { 

    @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 
     return new DatePickerDialog(getActivity(), this, year, month, day); 
    } 

    public void onDateSet(DatePicker view, int year, int month, int day) { 
     // Do something with the date chosen by the user 
    } 
} 

私はその後、activity_front_page.xmlに、このボタンを作成します:

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/pick_date" 
    android:onClick="showDatePickerDialog" /> 
DatePickerFramegent

とクラスにこのコードを追加:

public void showDatePickerDialog(View v) { 
    DialogFragment newFragment = new DatePickerFragment(); 
    newFragment.show(getSupportFragmentManager(), "datePicker"); 
} 

しかし、getSupportFrammentManager()は定義されていませんか?

Androidスタジオを使用してAndriodを開発するのが初めてです。私が望むのは、日付ピッカーです(上記のリンクにアクセスすると、画面の上に画像が表示されます)。どのようにこの問題を解決するためのアイデア?

+1

FragmentTransactionをする必要はありませんあなたはアンドロイドの独自datepickerdialogを試してみましたhttps://developer.android.com/reference/android/app/DatePickerDialog.html –

+0

アクティビティクラスまたはAppCompatActivityクラスをアクティビティで拡張していますか? –

答えて

0

あなたがandroid.support.v4.app.DialogFragmentを使用しているとして、あなたは(表示するように渡す必要があります)getSupportFragmentManager()の呼び出し

を使用して照会することができますandroid.support.v4.app.FragmentManagerのインスタンス
0

は、以下のコードを試してみて、それが助けかどうかを確認:

Activity activity = getActivity; 
DatePickerDialog datePickerDialog = new DatePickerDialog(activity, AlertDialog.THEME_HOLO_LIGHT, 
       new DatePickerDialog.OnDateSetListener() { 

        @Override 
        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 

       }, year, mm, dd); 
     datePickerDialog.show(); 
0

あなたがgetSupportFragmentManager()

public void showDatePickerDialog(View v) { 
FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); 

DialogFragment newFragment = new DatePickerFragment(); 
newFragment.show(ft, "datePicker"); 
}