我的应用程序包含一个带有编辑文本的弹出窗口。我希望用户不仅能够键入和删除文本,还可以从EditText框中复制和粘贴。
在线搜索后,我发现以下xml标签应该可以解决问题。
android:textIsSelectable="true"
我添加了该行,但随后无法通过单击"编辑文本"框打开键盘。
我找到了许多明确打开键盘的解决方案,但这不是我想要的,我希望它通过单击打开并允许通过长按复制和粘贴文本,就像浏览器中的 EditText 一样,例如。
添加以下内容之一也不起作用:
<requestFocus />
edit_text.requestFocus();
.xml:
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textIsSelectable="true"
android:text=""
android:textSize="25sp"
android:gravity="center_horizontal"
android:inputType="text"
android:layout_weight="0.1"
android:id="@+id/editTextPopup_input"
android:layout_marginEnd="20sp" />
爪哇岛:
public static void inflateEditTextPopup(int parent_id, String content_text, String edit_text_text, String act_button_text)
{
LayoutInflater layoutInflater = (LayoutInflater)Main.main_activity.getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);
final View popupView = layoutInflater.inflate(R.layout.edit_text_popup, null);
final PopupWindow window = new PopupWindow(popupView, LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
window.setFocusable(true);
final EditText input = (EditText)popupView.findViewById(R.id.editTextPopup_input);
input.setText(edit_text_text);
input.setFocusable(true);
input.requestFocus();
TextView content = (TextView)popupView.findViewById(R.id.editTextPopup_content);
content.setText(content_text);
Button btnClose = (Button)popupView.findViewById(R.id.editTextPopup_cancel);
btnClose.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
window.dismiss();
}
});
Button btnAct = (Button)popupView.findViewById(R.id.editTextPopup_ok);
btnAct.setText(act_button_text);
btnAct.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
handleEditTextPopupInput(window, input.getText().toString());
window.dismiss();
}
});
LinearLayout parent = (LinearLayout)Main.main_activity.findViewById(parent_id);
window.showAsDropDown(parent);
}
日志猫:
W/TextView: TextView does not support text selection. Selection cancelled.
在网上大量搜索后,我发现没有答案,因为这是Android中的一个错误,无法从弹出窗口中选择EditText。
就我而言,我使用了"粘贴"按钮之类的东西,这不是很舒服,但对我来说已经足够了。