5

У меня есть DialogFragment, который имеет вид с EditText в нем. Каждый раз, когда я показываю диалог, у edittext есть фокус, и клавиатура появляется.Диалоговый фрагмент с и EditText показывает клавиатуру автоматически после загрузки

Как я могу остановить его автоматически?

Я попытался положить android:windowSoftInputMode="stateHidden" в моем манифесте для деятельности, которая создает фрагмент, но это не имело никакого эффекта

это мой диалог фрагмент

public class RegDialog extends DialogFragment { 

OnRegComplete mRegComplete; 

@Override 
public void onAttach(Activity activity){ 
    super.onAttach(activity); 
    try{ 
     mRegComplete = (OnRegComplete)activity; 
    }catch(ClassCastException e){ 
     throw new ClassCastException(activity.toString() + " must implement OnRegComplete"); 
    } 
} 

public Dialog onCreateDialog(Bundle state){ 
    Dialog d = new Dialog(getActivity()); 
    d.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    d.setContentView(R.layout.registration); 
    d.setCanceledOnTouchOutside(false); 

    return d; 
} 

public interface OnRegComplete{ 
    void onRegComplete(); 
} 

}

это мой макет

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_toRightOf="@+id/imageView1" 
    android:layout_marginLeft="20dp" 
    android:layout_alignParentTop="true" 
    android:layout_marginTop="20dp" 
    android:layout_marginRight="20dp" 
    android:textSize="30sp" 
    android:text="Registration" /> 

<TextView 
    android:id="@+id/textView2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/textView3" 
    android:layout_marginLeft="26dp" 
    android:layout_marginTop="16dp" 
    android:text="State" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

<TextView 
    android:id="@+id/textView3" 
    android:layout_width="wrap_content" 
    android:layout_below="@+id/imageView1" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/textView2" 
    android:layout_marginTop="10dp" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:text="@string/reg_title" /> 

<Spinner 
    android:id="@+id/spinner2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBottom="@+id/textView4" 
    android:layout_toRightOf="@+id/textView4" 
    android:layout_marginRight="50dp" 
    android:minWidth="300dp" 
    android:layout_alignLeft="@+id/editText1" 
    /> 

<TextView 
    android:id="@+id/textView5" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/textView4" 
    android:layout_below="@+id/textView4" 
    android:layout_marginTop="40dp" 
    android:text="Station" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

<TextView 
    android:id="@+id/textView4" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/textView2" 
    android:layout_below="@+id/textView2" 
    android:layout_marginTop="40dp" 
    android:text="County" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

<Spinner 
    android:id="@+id/spinner1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/textView4" 
    android:layout_marginRight="50dp" 
    android:minWidth="300dp" 
    android:layout_alignLeft="@+id/editText1" /> 

<EditText 
    android:id="@+id/editText1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBottom="@+id/textView6" 
    android:layout_toRightOf="@+id/textView6" 
    android:layout_marginRight="50dp" 
    android:minWidth="300dp" 
    android:layout_marginLeft="20dp" 
    android:ems="10" 
    android:inputType="textPassword" /> 

<Spinner 
    android:id="@+id/spinner3" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/textView6" 
    android:layout_marginRight="50dp" 
    android:minWidth="300dp" 
    android:layout_alignLeft="@+id/editText1" /> 

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginBottom="36dp" 
    android:text="@string/reg_btn" /> 

<TextView 
    android:id="@+id/textView6" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/textView5" 
    android:layout_below="@+id/textView5" 
    android:layout_marginTop="42dp" 
    android:text="Password" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

<ImageView 
    android:id="@+id/imageView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginLeft="60dp" 
    android:layout_marginTop="15dp" 
    android:src="@drawable/mobile_mapr_logo" /> 

</RelativeLayout> 

ответ

9

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

android:focusable="true" 
android:focusableInTouchMode="true" 

в представлении

0

Попробуйте это:

your_edit_text.clearFocus(); 

Как насчет если вы изменили в манифесте:

android:configChanges="keyboardHidden" 

Это помог мне с некоторыми вопросами клавишного я имел :-)

+0

не работает либо – tyczj

+0

См мое редактирование :-) – Evilunclebill

+0

нет кубика с этим либо :( – tyczj

13

Используйте этот код, чтобы скрыть его программно

Dialog dialog = builder.create(); 
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); 
Смежные вопросы