2016-05-13 4 views
0

У меня в приложении Android, диалоговое окно диалога, которое отображается, когда я нажимаю на FloatingActionButton.Как отобразить DialogFragment, если я нажму на другую точку зрения

Теперь это XML-файл DialogFragment:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:focusable="true" 
    android:focusableInTouchMode="true"> 

    <TextView 
     android:id="@+id/labelStartDate" 
     android:layout_width="150dp" 
     android:layout_height="150dp" 
     android:gravity="left|center" 
     android:padding="15dp" 
     android:text="@string/start_date"/> 

    <DatePicker 
     android:id="@+id/startDate" 
     android:layout_width="wrap_content" 
     android:layout_height="150dp" 
     android:layout_toRightOf="@id/labelStartDate" 
     android:calendarViewShown="false" 
     android:datePickerMode="spinner" 
     android:endYear="2100" 
     android:startYear="1900" 
     > 
    </DatePicker> 

    <TextView 
     android:id="@+id/labelEndDate" 
     android:layout_width="150dp" 
     android:layout_height="150dp" 
     android:gravity="left|center" 
     android:padding="15dp" 
     android:layout_below="@id/labelStartDate" 
     android:text="@string/end_date"/> 

    <DatePicker 
     android:id="@+id/endDate" 
     android:layout_width="wrap_content" 
     android:layout_height="150dp" 
     android:calendarViewShown="false" 
     android:datePickerMode="spinner" 
     android:layout_toRightOf="@id/labelEndDate" 
     android:layout_below="@id/labelStartDate" 
     android:paddingTop="10dp" 
     android:endYear="2100" 
     android:startYear="1900" 
     > 
    </DatePicker> 

    ...... 
</RelativeLayout> 

В моем фрагменте, я открываю DialogFragment в этом режиме:

FloatingActionButton button = (FloatingActionButton) v.findViewById(R.id.add_button); 
     button.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       AlertsDialogFragment dialog = AlertsDialogFragment.newInstance(); 
       dialog.show(getActivity().getFragmentManager(),""); 
      } 
     }); 

Теперь йот этот код, я могу для отображения Диалогового фрагмента, но теперь у меня есть две проблемы:

1) Если я покажу, Диалог, то я нажимаю на другую точку на экране, Диалог скрывается. 2) Если я нажимаю на четвертом (к примеру) EditText, я не могу нажать на следующий EditText, и я должен скрыть клавиатуру, а затем нажмите на EditText ...

EDIT

Для второй точки, когда я отобразить DialogFragment, я вижу это: enter image description here

Но если я нажму на реакции Текст, я не могу видеть текст статуса, как вы можете видеть из этого изображения: enter image description here

+0

для 1-й точки до 'dialog.getDialog() setCanceledOnTouchOutside (ложь).', чтобы избежать смещать диалог на внешних связях и ваша вторая точка не ясно –

+0

для point (1) do 'dialog.setCancelableOnTouchOutside (false);' –

+0

Хорошо, если я использую этот код: наберите og.getDialog(). setCanceledOnTouchOutside (false), я исправил первую точку – bircastri

ответ

0

первая точка: использовать метод setCanceledOnTouchOutside (ложь) в диалоговом окне объекта

public void onClick(View v) {     
AlertsDialogFragment dialog = AlertsDialogFragment.newInstance(); 
dialog.setCanceledOnTouchOutside(false); 
dialog.show(getActivity().getFragmentManager(),"");    

}

другая информация here

второй пункт: запрос не ясно, во всяком случае я пытаюсь вывести его : вы хотите перейти к следующему полю (editText)

Решение использует действие клавиатуры в вашем текстовом редакторе, поэтому вы должны добавить этот атрибут

android:imeOptions = actionNext 

в вашем editText.

Таким образом, вы все равно не увидите следующие фокусируемые поля (EditText), но система применяет «actionNext» действие на текущий EditText, когда пользователь выберите Далее (возврат каретки ключ), чтобы перейти к следующему поле

вы можете найти другую информацию о действиях клавиатуры here

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