我需要一個文本顯示給用戶,並且可以選擇它的一部分並將其複製到剪貼板。 但沒有打開鍵盤。 我知道,在API 11及更新,我可以只使用如何使api下的TextView可選11
text.setTextIsSelectable (true);
但是,什麼是降低OS版本的解決方案?
我需要一個文本顯示給用戶,並且可以選擇它的一部分並將其複製到剪貼板。 但沒有打開鍵盤。 我知道,在API 11及更新,我可以只使用如何使api下的TextView可選11
text.setTextIsSelectable (true);
但是,什麼是降低OS版本的解決方案?
使用ContextMenu
和CLIPBOARD_SERVICE
:
private TextView mTextView;
protected final void onCreate(Bundle savedInstanceState) {
...
registerForContextMenu(mTextView);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View view, ContextMenu.ContextMenuInfo menuInfo) {
TextView textView = (TextView) view;
menu.setHeaderTitle(textView.getText()).add(0, 0, 0, R.string.menu_copy_to_clipboard);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
((ClipboardManager) getSystemService(CLIPBOARD_SERVICE)).setText(mTextView.getText());
return true;
}
有沒有辦法讓用戶選擇部分文本?而不是所有的文字,正如你在解決方案中所建議的那樣。所以我允許他體驗複製文本的正常使用。 – 2013-04-23 14:09:53
一個漫長而耗時的搜索後,我找不到可以選擇的TextView文本爲Android API級別< = 11的組件。我寫了這個組件可能對你有幫助: new Selectable TextView in android 3 (API <=11) component
你的意思是testview可點擊嗎? – Raghunandan 2013-04-23 10:46:47
沒有。我的意思是用戶可以選擇TextView中顯示的文本的一部分,並可以複製它以將其粘貼到剪貼板。 – 2013-04-23 10:49:23
'setTextIsSelectable()'適用於HoneyComb + – gauravsapiens 2013-04-23 10:54:28