我有一个搜索视图,我有一个查询提示属性.但是,只有在单击搜索视图后才会显示提示.有没有办法让它在被点击之前出现?
<SearchView
android:id="@+id/searchView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/textView4"
android:layout_marginBottom="14dp"
android:layout_marginTop="30dp"
android:queryHint="Search" />
Run Code Online (Sandbox Code Playgroud)
我已经看到了另一个类似查询的SO问题,但它没有解决.这就是为什么我要再问一次.
我的问题是我的自定义 alertdialog 类没有正确显示软键盘。我正在使用
SettingsDialog settingsDialog = new SettingsDialog(MainActivity.this);
settingsDialog.show();
Run Code Online (Sandbox Code Playgroud)
并且软键盘没有显示。我已经按照其他 stackoverflow 的答案来显示键盘... Show soft keyboard for dialog
如果我不使用自定义类,它会起作用
AlertDialog.Builder mBuilder = new AlertDialog.Builder(MainActivity.this);
mBuilder.setView(R.layout.alertdialog_settings);
AlertDialog alertDialog = mBuilder.create();
alertDialog.show();
Run Code Online (Sandbox Code Playgroud)
但是,当使用自定义 AlertDialog 类时,我似乎无法获得与上图相同的结果
我试过手动显示键盘
SettingsDialog settingsDialog = new SettingsDialog(MainActivity.this);
settingsDialog.show();
InputMethodManager imm = (InputMethodManager) this.getSystemService(Context.INPUT_METHOD_SERVICE);
if(imm != null){
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
}
Run Code Online (Sandbox Code Playgroud)
然而,它显示了alertdialog 后面的键盘,并且不会产生与AlertDialog Builder 相同的效果。
如何使用自定义 AlertDialog 显示软键盘以具有使用 AlertDialog Builder 的输出?
编辑:
我也尝试在 AlertDialog 的 onCreate 方法中手动显示它
public class SettingsDialog extends AlertDialog {
public SettingsDialog(@NonNull Context context, String subName) {
super(context);
this.mContext …Run Code Online (Sandbox Code Playgroud)