5

Ho un oggetto DialogFragment che ha una vista con uno EditText in esso. Ogni volta che mostro la finestra di dialogo, l'edittext ha il focus e la tastiera si avvicina.Finestra di dialogo Frammento con e ModificaTesto mostra automaticamente la tastiera dopo il caricamento

Come posso impedirmi di venire automaticamente?

ho provato a mettere android:windowSoftInputMode="stateHidden" nel mio manifesto per l'attività che crea il frammento, ma che non ha avuto effetto

questo è il mio dialogo frammento

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(); 
} 

}

questo è il mio layout

<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> 

risposta

9

ho dovuto dare fuoco a una vista sopra il testo di modifica utilizzando

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

nella vista

0

Prova questo:

your_edit_text.clearFocus(); 

Che ne dite se è stata modificata nel manifesto a:

android:configChanges="keyboardHidden" 

che mi ha aiutato con alcuni problemi di tastiera ho avuto :-)

+0

non ha funzionato né – tyczj

+0

Vedere la mia modifica :-) – Evilunclebill

+0

niente da fare con che o :( – tyczj

13

Usa questo codice per nascondere a livello di codice

Dialog dialog = builder.create(); 
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); 
Problemi correlati