2013-04-23 21 views
1

我需要一個文本顯示給用戶,並且可以選擇它的一部分並將其複製到剪貼板。 但沒有打開鍵盤。 我知道,在API 11及更新,我可以只使用如何使api下的TextView可選11

text.setTextIsSelectable (true); 

但是,什麼是降低OS版本的解決方案?

+0

你的意思是testview可點擊嗎? – Raghunandan 2013-04-23 10:46:47

+0

沒有。我的意思是用戶可以選擇TextView中顯示的文本的一部分,並可以複製它以將其粘貼到剪貼板。 – 2013-04-23 10:49:23

+0

'setTextIsSelectable()'適用於HoneyComb + – gauravsapiens 2013-04-23 10:54:28

回答

1

使用ContextMenuCLIPBOARD_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; 
} 
+1

有沒有辦法讓用戶選擇部分文本?而不是所有的文字,正如你在解決方案中所建議的那樣。所以我允許他體驗複製文本的正常使用。 – 2013-04-23 14:09:53

相關問題