2012-05-03 4 views
1

В следующем коде отображается выбор даты (как всплывающее диалоговое окно), когда пользователь нажимает на EditText. showDialog() вызывает onCreateDialog(). Код работает отлично, за исключением случаев, когда он реализован во Фрагменте. В Fragment диалог не отображается.Проблема при отображении диалога на Android-фрагменте

edtTxtDateTime.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       showDialog(DATE_DIALOG_ID); 
      } 
     }); 

@Override 
    protected Dialog onCreateDialog(int id) { 
     switch (id) { 
      case DATE_DIALOG_ID: 
       // Displaying Date & Time as a dialog 

     } 
     return null; 
    } 

Я пытался реализовать такое же поведение с помощью DialogFragment API, но я не смог получить диалог при EditText нажатии.

Любые предложения/подсказки будут полезны.

+0

Когда вы вызываете его во фрагменте, вы вызываете getActivity(). ShowDialog()? – JRaymond

+1

Многое может быть не так здесь ... показать фактический код ... – TacB0sS

+0

вы следовали примеру в ссылке http://developer.android.com/reference/android/app/DialogFragment.html – techiServices

ответ

0

Убедитесь, что вы используете правильный контекст для отображения диалога в коде фрагмента. Вы должны использовать контекст родительской активности. В пределах вашего фрагмента вы можете получить действие (и исправить контекст), позвонив:

getActivity(); 
Смежные вопросы