2012-10-08 64 views
4

我正在修改舊的Android應用程序。我有一個GPS緯度和長期被存儲在一個字符串值,並顯示給用戶在一個不可編輯的文本框中解決時。我想添加一個只取得字符串值的按鈕,並將其複製到剪貼板。將字符串的值複製到剪貼板的按鈕

我看這個:How to copy text programmatically in my Android app?

,但不知道如何實現它。任何幫助都會很棒,我最近在這方面還沒有涉及太多的發展!

感謝

編輯:

//Set button (inside oncreate method) 
    Button button = (Button)this.findViewById(R.id.buttoncopylocation); 
    button.setOnClickListener(this); 

//Code added in onClick method 
@Override 
public void onClick(View arg0) { 
    // TODO Auto-generated method stub 
    ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); 
    ClipData clip = ClipData.newPlainText("Copied", mycoords); 
    clipboard.setPrimaryClip(clip); 
} 

我得到這個錯誤:如果它僅僅是文本http://i.imgur.com/sQ4um.jpg

+0

如果您發佈的一段代碼,您希望這將有助於之前提供上下文在剪貼板中設置文本。 –

+0

@Trickster我添加了代碼來協助。 – GrumP

+0

您定位了哪個API級別? ClipData可用於API級別11. –

回答

19

,這是非常簡單的。

ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); 
ClipData clip = ClipData.newPlainText("label","Your Text"); 
clipboard.setPrimaryClip(clip); 

如需進一步信息,請查閱this link

+0

似乎是一個問題ClipData,OP編輯爲清楚起見 – GrumP

+0

這個工作,感謝(儘管略有變化):公共無效的onClick(查看爲arg0){ \t \t \t \t android.text.ClipboardManager剪貼板=(android.text.ClipboardManager)getSystemService(CLIPBOARD_SERVICE); \t \t clipboard.setText(mycoords); \t \t \t \t Toast.makeText(getApplicationContext(),「Text copied copied to clipboard」,Toast.LENGTH_SHORT).show(); – GrumP

-1

getSystemService(Context.CLIPBOARD_SERVICE); 

Context context = ...; 
ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE); 
相關問題