我正在使用android:textIsSelectable =" true"所以我的文本有资格复制文本,在同一文本视图我使用onclicklistner,但该clicklistner不会工作。一旦我删除android:textIsSelectable =" true"它会工作正常。 我尝试将onLongpress listner设置为该textview并启用此属性运行时。任何人都能告诉我任何其他解决方案吗?
答案 0 :(得分:1)
我见过其他人也有同样的问题。你应该这样做。
用textView
包裹你的LinearLayout
,然后在LinearLayout上设置onClickListener
,而不是在textView上设置。它会产生同样的影响。
<LinearLayout
android:id="@+id/layout"
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<Button
android:id="@+id/button"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:textIsSelectable="true">
</LinearLayout>
.class
文件中的新内容
LinearLayout mLayout = (LinearLayout) findViewById(R.id.layout);
mLayout.setOnClickListener(new View....) {
...
// Do something here.
}
这将使您的textView
可以选择,也可以点击。
答案 1 :(得分:0)
你可以像这样使用
TextView tv;
String stringYouExtracted = tv.getText().toString;
int startIndex = tv.getSelectionStart();
int endIndex = tv.getSelectionEnd();
stringYouExtracted = stringYouExtracted.subString(startIndex, endIndex);
将字符串复制到剪贴板
if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB) {
android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
clipboard.setText(stringYouExtracted);
} else {
android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
android.content.ClipData clip = android.content.ClipData.newPlainText("Copied Text", stringYouExtracted);
clipboard.setPrimaryClip(clip);
}