【发布时间】:2018-08-02 21:25:58
【问题描述】:
我有一个 AlertDialog 呈现多选列表视图,并且列表视图单行中有一个 editText。光标在闪烁,但没有软键盘弹出。
ArrayList<String> _items_ = new ArrayList<>();
_items_.addAll(Arrays.asList(_items));
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
assert inflater != null;
View view = inflater.inflate(R.layout.list_view_layout, null);
final ListView listView = (ListView) view.findViewById(R.id.list_item);
final SpinnerDialogAdapter spinnerDialogAdapter = new SpinnerDialogAdapter(context, R.layout.custom_spinner_layout, R.id.tv_attr, _items_, stringHashMap);
listView.setAdapter(spinnerDialogAdapter);
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
listView.setDivider(null);
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setView(view);
builder.setTitle("Please select");
builder.setPositiveButton("Submit", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
HashMap<String, String> attrMapQty = spinnerDialogAdapter.getCheckedItemsQuantities();
String stringName = spinnerDialogAdapter.getCheckedItemString();
listener.selectedAttarQuantityMap(attrMapQty, stringName, pos, spAttribute, comment, selectedItem, attributes, rbIsSelected);
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
AlertDialog dialog = builder.create();
dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
dialog.show();
【问题讨论】:
标签: android listview android-edittext android-alertdialog android-softkeyboard