2012-10-11 45 views
8

Tôi gặp sự cố khi sao chép văn bản vào khay nhớ tạm. Tôi cố gắng sao chép như thế này:Android: Sao chép văn bản vào khay nhớ tạm cho API <11

android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); 
android.content.ClipData clip = android.content.ClipData.newPlainText("text label", "text to clip"); 
clipboard.setPrimaryClip(clip); 

Nhưng vấn đề là ở trình biên dịch mà ném:

Call requires API level 11 (current min is 7): android.content.ClipboardManager#setPrimaryClip line 245 Android Lint Problem. 

Làm thế nào tôi có thể sao chép văn bản vào clipboard trên android API < 11? Nếu tôi cố gắng kiểm tra phiên bản API của android trước khi sao chép - mã của tôi thậm chí không biên dịch. Có lẽ ai đó biết câu trả lời cho câu hỏi này?

Trả lời

26

tham khảo: How to copy text programatically in my Android app

int sdk = android.os.Build.VERSION.SDK_INT; 
if(sdk < android.os.Build.VERSION_CODES.HONEYCOMB) { 
    android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); 
    clipboard.setText("text to clip"); 
} else { 
    android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); 
    android.content.ClipData clip = android.content.ClipData.newPlainText("text label","text to clip"); 
    clipboard.setPrimaryClip(clip); 
} 

Added: bạn có thể phải làm sạch và xây dựng dự án của bạn :)

+0

Yeah, tôi đã cố gắng mã này, nhưng nó không hoạt động. Nó thậm chí không biên dịch bởi vì trình biên dịch nói: Gọi yêu cầu cấp API 11 (min hiện tại là 7): android.content.ClipboardManager # setPrimaryClip dòng 245 Android Lint Problem. – JavaRunner

+0

bạn đã tuyên bố một cái gì đó như thế này '' trong tệp kê khai ?? –

+0

Chắc chắn. Trình biên dịch đưa ra một lỗi: "** hiện tại ** phút là 7" (đó là ứng dụng của tôi cần phút API7). Vì vậy, tệp kê khai của tôi là: JavaRunner

Các vấn đề liên quan