2013-01-07 33 views
10

Tôi đang cố gắng để sao chép văn bản programatically trên android, câu trả lời đã bỏ phiếu nhất trên một câu hỏi khác được cung cấp những dòng này nhưng khi sử dụng chúng tôi nhận được lỗi: Lớp đòi hỏi mức API 11 (hiện tại tối thiểu là 8):Sao chép với trình quản lý clipboard hỗ trợ các phiên bản Android cũ và mới?

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

Tôi đã sao chép trực tiếp các dòng từ câu hỏi. Sau khi thử với import android.content.ClipboardManager; Tôi đã thử nghiệm import android.text.ClipboardManager; và nhưng nó đã tạo ra lỗi quá The method setPrimaryClip(ClipData) is undefined for the type ClipboardManager cộng với cảnh báo về ClipboardManager không được chấp nhận.

Ứng dụng của tôi hỗ trợ Android 2.2 (API 8 tôi nghĩ) trở đi, làm cách nào để sao chép văn bản để ứng dụng hoạt động trên tất cả các phiên bản Android?

Trả lời

27

Hãy thử sử dụng một cái gì đó như sau:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { 
    final android.content.ClipboardManager clipboardManager = (android.content.ClipboardManager) context 
      .getSystemService(Context.CLIPBOARD_SERVICE); 
    final android.content.ClipData clipData = android.content.ClipData 
      .newPlainText("text label", "text to clip"); 
    clipboardManager.setPrimaryClip(clipData); 
} else { 
    final android.text.ClipboardManager clipboardManager = (android.text.ClipboardManager) context 
      .getSystemService(Context.CLIPBOARD_SERVICE); 
    clipboardManager.setText("text to clip"); 
} 
Các vấn đề liên quan