2013-03-22 9 views
1

모든 Android 버전에서 클립 보드에서 복사하여 붙여 넣기 할 수있는 방법을 찾고 있습니다. 현재 API 11+에서이를 수행하는 방법을 알고 있습니다.모든 안드로이드 API에 복사 붙여 넣기 사용 가능

copy.setOnLongClickListener(new View.OnLongClickListener() 
    { 
     @SuppressLint({ "NewApi", "NewApi" }) 
     @Override 
     public boolean onLongClick(View v) 
     { 
      clipboard = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE); 
      clipdata = ClipData.newPlainText("simple text", copy.getText().toString()); 
      clipboard.setPrimaryClip(clipdata); 
      Toast.makeText(getApplicationContext(), "Copied to clipboard..", Toast.LENGTH_SHORT).show(); 
      return true; 
     } 
    }); 

    paste.setOnLongClickListener(new View.OnLongClickListener() 
    { 
     @SuppressLint({ "NewApi", "NewApi" }) 
     @Override 
     public boolean onLongClick(View v) 
     { 
      clipboard = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE); 
      String pasteData = ""; 
      item = clipboard.getPrimaryClip().getItemAt(0); 
      pasteData = item.getText().toString(); 
      paste.setText(pasteData); 
      Toast.makeText(getApplicationContext(), "Pasted", Toast.LENGTH_SHORT).show(); 
      return true; 
     } 
    }); 

감사합니다. 감사합니다.

답변

1
   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); // 
      } 
+0

당신은 build sdk를 확인합니까 ?? – QuokMoon

+0

감사합니다. 붙여 넣기 코드는 위의 코드와 동일합니까? –

+0

hmmm 네, 사용하고 나서 말해주세요 .. – QuokMoon

1

ClipboardManager가 v11에 추가되지 않았습니다. 설명서가 잘못되었습니다. 그것은 v11에서 다시 디자인되었습니다. 설명서에서 이전에 사용되지 않는 기능을 계속 볼 수 있습니다. 버전을 확인하고 이전 버전의 이전 기능과 새 버전의 새 기능을 사용하십시오. ClipboardManager의 getText, hasText 및 setText를 참조하십시오.