Fragment中Dialog无法弹出输入法

Fragment中自定义Dialog,其中的EditText无法弹出输入法,最简单的解决办法:


AlertDialog dialog = new AlertDialog.Builder(context).create(); 

dialog.setView(new EditText(context)); 

dialog.show();


即在show()方法调用之前设置一个新的输入框就ok

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Android ,可以使用 DialogFragment 类来实现对话框。DialogFragment 可以管理自己的生命周期,并将其与活动分离,因此它更加灵活和可重用性。 下面是一个简单的例子,演示如何在 Fragment 使用 Dialog: 1. 创建一个继承自 DialogFragment 的类,用于显示对话框内容: ``` public class MyDialogFragment extends DialogFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { // 创建一个对话框 AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setTitle("Title") .setMessage("Message") .setPositiveButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { // 点击 OK 按钮后的操作 } }) .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { // 点击 Cancel 按钮后的操作 } }); // 返回对话框 return builder.create(); } } ``` 2. 在 Fragment 调用对话框: ``` public class MyFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // 创建视图 View view = inflater.inflate(R.layout.fragment_my, container, false); // 显示对话框 MyDialogFragment dialogFragment = new MyDialogFragment(); dialogFragment.show(getFragmentManager(), "MyDialogFragment"); return view; } } ``` 在这个例子,我们创建了一个 MyDialogFragment 类,用于显示一个简单的对话框。在 MyFragment,我们在 onCreateView() 方调用 MyDialogFragment 的 show() 方来显示对话框。在 show() 方,我们传入了 FragmentManager 和一个标记字符串,用于标识对话框。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值