Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带有可选文本的EditText不可聚焦_Java_Android_Android Edittext_Focusable - Fatal编程技术网

Java 带有可选文本的EditText不可聚焦

Java 带有可选文本的EditText不可聚焦,java,android,android-edittext,focusable,Java,Android,Android Edittext,Focusable,我的应用程序包含一个带有编辑文本的弹出窗口。我希望用户不仅能够键入和删除文本,还能够从编辑文本框复制和粘贴文本 在网上搜索之后,我发现下面的xml标记应该可以做到这一点 android:textIsSelectable="true" 我添加了该行,但单击编辑文本框无法打开键盘 我发现了许多显式打开键盘的解决方案,但这不是我想要的,我希望它一次单击就打开,并允许长时间单击即可复制和粘贴文本,就像浏览器中的EditText一样 添加以下内容之一也不起作用: <requestFocus /&g

我的应用程序包含一个带有编辑文本的弹出窗口。我希望用户不仅能够键入和删除文本,还能够从编辑文本框复制和粘贴文本

在网上搜索之后,我发现下面的xml标记应该可以做到这一点

android:textIsSelectable="true"
我添加了该行,但单击编辑文本框无法打开键盘

我发现了许多显式打开键盘的解决方案,但这不是我想要的,我希望它一次单击就打开,并允许长时间单击即可复制和粘贴文本,就像浏览器中的EditText一样

添加以下内容之一也不起作用:

<requestFocus />

edit_text.requestFocus();
日志:

W/TextView: TextView does not support text selection. Selection cancelled.

在网上进行了大量搜索后,我发现没有答案,因为这是Android中的一个bug,EditText无法从弹出窗口中选择


在我的例子中,我使用了“粘贴”按钮之类的东西,虽然不太舒服,但对我来说已经足够好了。

在网上搜索了很多次后,我发现没有答案,因为这是Android中的一个bug,EditText无法从弹出窗口中选择


在我的例子中,我使用了“粘贴”按钮之类的东西,这不是很舒服,但对我来说已经足够好了。

以编程方式或xml方式在edittext中添加focusableInTouchMode属性,希望这能解决您的问题……不幸的是,它不能解决问题。感谢您以编程方式或xml方式在edittext中添加focusableInTouchMode属性,希望这能解决您的问题……不幸的是,它无法解决问题。谢谢你的实验。我浪费了好几个小时的时间来寻找我的代码的问题,但结果是android bug…谢谢你的实验。我浪费了好几个小时的时间来寻找我的代码的问题,但结果证明是安卓错误。。。
    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.