2013-01-07 8 views
10

私は、Android上でプログラム的にこれらの行を提供する別の質問で最も投票の答えをテキストをコピーしようとしているが、それらを使用しているとき、私はエラーを取得:クラスは、APIレベル11が必要です(現在の分がある8):古いアンドロイド版をサポートするクリップボードマネージャーでコピーしますか?

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

私は質問から直接行をコピーしました。 import android.content.ClipboardManager;で試したところ、import android.text.ClipboardManager;をテストしましたが、エラーが発生しましたThe method setPrimaryClip(ClipData) is undefined for the type ClipboardManagerとClipboardManagerの警告が推奨されなくなりました。

Android 2.2(それは私が考えると思う)をサポートする私のアプリ、どのようにしてAndroidのすべてのバージョンで動作するようにテキストをコピーできますか?

答えて

27

次のようなものを使用してみてください:

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"); 
} 
関連する問題