【问题标题】:Android 8 Oreo EditText do not allow paste on long pressAndroid 8 Oreo EditText 不允许长按粘贴
【发布时间】:2025-12-15 07:35:01
【问题描述】:

我有一个简单的带有 EditText 的自定义视图,并且复制/粘贴弹出窗口没有显示在 Oreo 上。它可以在 Android 7 上运行,甚至可以在我的运行 Android 8 Oreo 的模拟器上运行,但它不能在装有 Android Oreo 的真实设备上运行(Google Pixel、Nexus 5X)。当我用 EditText 长按我的自定义视图时,带有复制/粘贴选项的弹出菜单根本不会显示在真实设备上(同样,它适用于 Android 7 及更低版本以及运行 Oreo 的模拟器)。但是当我在 EditText 中填写一些文本,然后长按时,复制/粘贴弹出窗口甚至会出现在我设备上的 Oreo 上。

真的很奇怪的行为。我在自定义视图中复制了所有逻辑,因此只有简单的 EditText 存在,但仍然没有结果。我认为可能是新的自动填充功能将其分解?

【问题讨论】:

标签: android android-layout android-custom-view autofill android-8.0-oreo


【解决方案1】:

所以我发现问题是,当 EditText 设置了负边距时。

Android Oreo 上未显示复制/粘贴弹出窗口的示例布局(仅限真实设备):

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="-4dp"
    android:layout_marginRight="-4dp"/>

我创建了新问题:https://issuetracker.google.com/issues/65575880

【讨论】:

    【解决方案2】:

    如果你的应用中有这样的方法,请重命名。

      protected int getUserId() {
     return getCurrentUserRepository().getId();
    

    }

    【讨论】:

    • 此答案与问题无关。