gpt4 book ai didi

android - 带有 EditText 的对话框 fragment 在加载后自动显示键盘

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:49:39 25 4
gpt4 key购买 nike

我有一个 DialogFragment,它有一个包含 EditText 的 View 。每次我显示对话框时,编辑文本都有焦点并且键盘出现。

如何阻止它自动出现?

我尝试将 android:windowSoftInputMode="stateHidden" 放入创建 fragment 的 Activity list 中,但没有效果

这是我的对话 fragment

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>

最佳答案

使用此代码以编程方式隐藏它

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

关于android - 带有 EditText 的对话框 fragment 在加载后自动显示键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15146128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com