2017-02-01 11 views
0

В TimePickerDailog дает мне ошибку, как Не удается разрешить метод'show (android.support.v4.app.FragmentManager, java.lang.String) 'не может разрешить метод 'show (android.support.v4.app.FragmentManager, java.lang.String)'

Я получаю этот учебник с другого сайта, который я пробовал, но не получал выход и получал ту же ошибку. И я обращаюсь к тем же вопросам в stackoverflow, но не получаю результат, поэтому я разместил вопрос.

В этой линии дает мне ошибку: -

dFragment.show(getFragmentManager(),"Time Picker"); 

Вот код: -

public class Daily_Task extends Fragment { 
    public Daily_Task() {}; 
    Button submittask; 
    View view; 

    EditText starttime, endtime; 
    EditText Taskname, Detail; 
    @Override 
    public View onCreateView(LayoutInflater inflater, final ViewGroup container, Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.activity_daily__task, container, false); 
     getActivity().setTitle("Task"); 
     starttime = (EditText) view.findViewById(R.id.start_time); 
     endtime = (EditText) view.findViewById(R.id.End_time); 
     submittask = (Button) view.findViewById(R.id.add_task_button); 

     starttime.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       // Initialize a new time picker dialog fragment 
       DialogFragment dFragment = new TimePickerFragment(); 

       // Show the time picker dialog fragment 
       dFragment.show(getFragmentManager(),"Time Picker"); 

      } 
     }); 

     return view; 
    } 

TimePickerFragment.java

package com.Weal.sachin.omcom; 

/** 
* Created by sachin on 2/1/2017. 
*/ 

import android.app.AlertDialog; 
import android.app.TimePickerDialog; 
import android.os.Bundle; 
import android.widget.TextView; 
import android.app.DialogFragment; 
import android.app.Dialog; 
import java.util.Calendar; 
import android.widget.TimePicker; 

public class TimePickerFragment extends DialogFragment implements TimePickerDialog.OnTimeSetListener{ 

    @Override 
    public Dialog onCreateDialog(Bundle savedInstanceState){ 
     // Get a Calendar instance 
     final Calendar calendar = Calendar.getInstance(); 
     // Get the current hour and minute 
     int hour = calendar.get(Calendar.HOUR_OF_DAY); 
     int minute = calendar.get(Calendar.MINUTE); 

     /* 
      Creates a new time picker dialog with the specified theme. 

       TimePickerDialog(Context context, int themeResId, 
        TimePickerDialog.OnTimeSetListener listener, 
        int hourOfDay, int minute, boolean is24HourView) 
     */ 

     // TimePickerDialog Theme : THEME_DEVICE_DEFAULT_LIGHT 
     TimePickerDialog tpd = new TimePickerDialog(getActivity(), 
       AlertDialog.THEME_DEVICE_DEFAULT_LIGHT,this,hour,minute,false); 

     // TimePickerDialog Theme : THEME_DEVICE_DEFAULT_DARK 
     TimePickerDialog tpd2 = new TimePickerDialog(getActivity(), 
       AlertDialog.THEME_DEVICE_DEFAULT_DARK,this,hour,minute,false); 

     // TimePickerDialog Theme : THEME_HOLO_DARK 
     TimePickerDialog tpd3 = new TimePickerDialog(getActivity(), 
       AlertDialog.THEME_HOLO_DARK,this,hour,minute,false); 

     // TimePickerDialog Theme : THEME_HOLO_LIGHT 
     TimePickerDialog tpd4 = new TimePickerDialog(getActivity(), 
       AlertDialog.THEME_HOLO_LIGHT,this,hour,minute,false); 

     // TimePickerDialog Theme : THEME_TRADITIONAL 
     TimePickerDialog tpd5 = new TimePickerDialog(getActivity(), 
       AlertDialog.THEME_TRADITIONAL,this,hour,minute,false); 

     // Return the TimePickerDialog 
     return tpd; 
    } 

    public void onTimeSet(TimePicker view, int hourOfDay, int minute){ 
     // Do something with the returned time 
     TextView tv = (TextView) getActivity().findViewById(R.id.start_time); 
     tv.setText("HH:MM\n" + hourOfDay + ":" + minute); 
    } 
} 

ответ

2

Попробуйте, как это

Для android.support.v4.app.DialogFragment

dFragment.show(getActivity().getSupportFragmentManager(),"Time Picker"); 

Для android.app.DialogFragment

dFragment.show(getActivity().getFragmentManager(),"Time Picker"); 

и активности, которая держит этот фрагмент должен распространяться AppCombatActivity

+1

я использовал это и его работу dFragment.show (getActivity() getFragmentManager.() , "Time Picker"); – Andie

+0

это работает, но я хочу установить Am Pm, также вы можете помочь мне в этом тоже? но он отображается в 24-часовом формате @Trucket – Andie

+0

для 12-часового формата использовать 'calendar.get (Calendar.HOUR)' – arjun

 Смежные вопросы

  • Нет связанных вопросов^_^