吾生也有涯,而知也无涯。这篇文章主要讲述将条形码结果保存到剪贴板 - Android应用程序相关的知识,希望能为你提供帮助。
我创建了一个条形码扫描器,它将结果数字返回到文本视图中,以向用户显示结果。
我添加了一个按钮,将用户带到条形码查找网站,以便搜索条形码以识别产品。理想情况下,我希望在扫描条形码时自动执行此操作,但我认为这可能会超出我目前的专业水平,我希望能够将生成的条形码数字自动添加到剪贴板中因此,当用户访问网站时,他们所要做的就是将号码粘贴到相关字段中。
【将条形码结果保存到剪贴板 - Android应用程序】条形码结果的代码位于'barcodeResult'是textview的位置:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 0) {
if (resultCode == CommonStatusCodes.SUCCESS) {
if (data != null) {
Barcode barcode = data.getParcelableExtra("barcode");
barcodeResult.setText("Barcode value : "+barcode.displayValue);
} else {
barcodeResult.setText("No barcode found");
}} else {}
super.onActivityResult(requestCode, resultCode, data);
}
}public void browser1 (View view) {
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.barcodelookup.com/api"));
startActivity(browserIntent);
}
编辑:我已经尝试将以下内容添加到if语句中,结果为!null:
final ClipboardManager clipboardManager = (ClipboardManager) getSystemService(this.CLIPBOARD_SERVICE);
clipboardManager.setText((CharSequence) barcodeResult);
但这给了我错误:
android.widget.TextView cannot be cast to java.lang.CharSequence
因为我不完全理解错误,所以我不确定从哪里可以离开。
任何建议一如既往地非常感谢。
谢谢
答案在发现我得到的错误是因为你不能将CharSequence与TextView一起使用后,我找到了一些我可以使用的ClipboardManager代码,并将TextView更改为EditText。结果代码如下(完整的IF语句):
if (data != null) {
Barcode barcode = data.getParcelableExtra("barcode");
barcodeResult.setText(barcode.displayValue);
final ClipboardManager clipboardManager = (ClipboardManager) getSystemService(this.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("text", barcodeResult.getText().toString() );
clipboardManager.setPrimaryClip(clip);
Toast.makeText(this, "Result added to clipboard", Toast.LENGTH_SHORT).show();
更改为和EditText框确实会改变我的应用程序的外观以及我希望它如何运行但它是可行的。
推荐阅读
- 5个JavaScript和jQuery倒计时插件
- android TextView(如何避免换行())
- 在Android中加载大文本
- Android Wheel日期和时间选择器获取值
- Android - 按下按钮时将textview添加到布局
- 如何在Android中绘制弯曲文本
- 如何在Android中设置NestedScrollView的最大高度()
- Android(String List中的变量总是返回0)
- 如何使用lambda表达式/缩短onclicklisteners android studio