【问题标题】:When to retrieve data from from EditText and copy to the clipboard for the user to obtain?何时从 EditText 中检索数据并复制到剪贴板供用户获取?
【发布时间】:2023-04-09 17:44:02
【问题描述】:

我正在为 Android 开发一个剪贴板管理器应用,它涉及从用户之前复制的内容中检索存储的数据。我希望在用户点击粘贴时显示此数据。有人知道我该如何实现吗?下面提供了我的代码。

ClipboardManager clipboard = (ClipboardManager) mContext.getSystemService(Context.CLIPBOARD_SERVICE);

int contentPos = 0;

 do {

                String primaryDataNew = ets.get(contentPos).getText().toString(); //Fetches copied data stored in first EditText position in EditText array list ets from app

                //Copies data to clipboard

                ClipData clipNew = ClipData.newPlainText("Data retrieved: ", primaryDataNew);
                clipboard.setPrimaryClip(clipNew);

                Toast.makeText(mContext, "Done", Toast.LENGTH_SHORT).show();
                System.out.println(primaryDataNew);

                //if... (What?)
                contentPos++;

                //else {}

    } while (contentPos < ets.size());

在我可以从 ets 中的下一个位置检索数据之前,我可以在 if 语句中添加什么来确保用户获得了检索数据(很可能是通过粘贴)?我感谢您的帮助。谢谢。

【问题讨论】:

    标签: android android-edittext clipboard copy-paste clipboardmanager


    【解决方案1】:

    您无法知道数据是否已从剪贴板复制到任何应用程序中。特别是,您无法知道用户是否决定将某些内容粘贴到任何应用中。

    【讨论】:

    • 哦,好的。那真不幸。你知道我可以用什么来知道何时检索存储的数据并将其复制到剪贴板,以便用户在点击过去按钮时可以获得它吗?感谢您的帮助。
    • @Nisarg 我有个主意,你可以试试。当用户长按编辑文本时,剪贴板功能变为活动状态。我认为您可以跟踪长按事件。
    • @Aditya:您无法在其他应用中“跟踪长按事件”。
    • 是的,我相信“跟踪长按事件”涉及 EditText 的 TextWatcher。问题是你只能在你的应用程序本身中实现它。您知道我可以在什么基础上检索数据并将其复制到剪贴板:允许它工作的用户操作是什么?谢谢。
    猜你喜欢
    • 2017-05-18
    • 2012-11-06
    • 1970-01-01
    • 2023-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-30
    • 1970-01-01
    相关资源
    最近更新 更多