Android - 编辑文本粘贴选项在第一次点击时不起作用
Android - Edit Text Paste option is not working on first click
我复制了一个 youtube url 并尝试在警告对话框内的第一次点击时将那个 youtube url 粘贴到编辑文本中,但它不起作用。
但它在第二次点击时有效,我还检查了剪贴板管理器以检查内容是否被复制,我可以在剪贴板对象中读取复制的内容。
请查找下面的 xml 我的代码是否遗漏了什么,或者请让我知道我需要遵循哪种解决方案来解决此问题。过去 2 天我一直在研究这个问题以解决此问题,但没有解决。
xml代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/frame_view"
android:layout_width="match_parent"
android:layout_height="64dp"
android:background="@color/colorPrimary"
android:scaleType="center">
<TextView
android:id="@+id/dialog_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="@string/title"
android:textAllCaps="true"
android:textAppearance="?android:textAppearanceMedium"
android:textColor="@color/white"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/view_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/frame_view"
android:orientation="vertical">
<LinearLayout
android:orientation="horizontal"
android:padding="@dimen/dimen_size_20dp"
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<EditText
android:gravity="center"
android:id="@+id/dialog_edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:maxLines="1"
android:textColor="@color/black"
android:textColorHint="@color/dark_gray"
android:hint="@string/video_link"
/>
<LinearLayout
android:orientation="horizontal"
android:padding="@dimen/dimen_size_20dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/view_layout"
android:orientation="horizontal">
<Button
android:visibility="visible"
android:id="@+id/dialog_cancel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/ripple_effect"
android:text="@string/cancel"
android:textColor="@color/white" />
<View
android:id="@+id/view_divider"
android:visibility="visible"
android:background="@color/white"
android:layout_width="@dimen/dimen_size_1dp"
android:layout_height="match_parent"/>
<Button
android:id="@+id/dialog_save"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/ripple_effect"
android:text="@string/save"
android:textColor="@color/white" />
</LinearLayout>
这是第二次工作,因为第一次是焦点,然后第二次点击事件工作。
试试这个代码:
<EditText
android:focusable="false"
...
/>
我复制了一个 youtube url 并尝试在警告对话框内的第一次点击时将那个 youtube url 粘贴到编辑文本中,但它不起作用。
但它在第二次点击时有效,我还检查了剪贴板管理器以检查内容是否被复制,我可以在剪贴板对象中读取复制的内容。
请查找下面的 xml 我的代码是否遗漏了什么,或者请让我知道我需要遵循哪种解决方案来解决此问题。过去 2 天我一直在研究这个问题以解决此问题,但没有解决。
xml代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/frame_view"
android:layout_width="match_parent"
android:layout_height="64dp"
android:background="@color/colorPrimary"
android:scaleType="center">
<TextView
android:id="@+id/dialog_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="@string/title"
android:textAllCaps="true"
android:textAppearance="?android:textAppearanceMedium"
android:textColor="@color/white"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/view_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/frame_view"
android:orientation="vertical">
<LinearLayout
android:orientation="horizontal"
android:padding="@dimen/dimen_size_20dp"
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<EditText
android:gravity="center"
android:id="@+id/dialog_edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:maxLines="1"
android:textColor="@color/black"
android:textColorHint="@color/dark_gray"
android:hint="@string/video_link"
/>
<LinearLayout
android:orientation="horizontal"
android:padding="@dimen/dimen_size_20dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/view_layout"
android:orientation="horizontal">
<Button
android:visibility="visible"
android:id="@+id/dialog_cancel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/ripple_effect"
android:text="@string/cancel"
android:textColor="@color/white" />
<View
android:id="@+id/view_divider"
android:visibility="visible"
android:background="@color/white"
android:layout_width="@dimen/dimen_size_1dp"
android:layout_height="match_parent"/>
<Button
android:id="@+id/dialog_save"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/ripple_effect"
android:text="@string/save"
android:textColor="@color/white" />
</LinearLayout>
这是第二次工作,因为第一次是焦点,然后第二次点击事件工作。
试试这个代码:
<EditText
android:focusable="false"
...
/>