2014-09-09 2 views
-1

Copy to clipboard 기능을 setPositiveButton에 바인딩하여 setMessage의 텍스트가 클립 보드에 복사되고 토스트가 Copied!으로 표시되도록합니다. 도와주세요!클립 보드에 복사

public void showDialog() { 

    AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); 
    dialogBuilder.setIcon(R.drawable.ic_launcher); 
    dialogBuilder.setTitle("Information!"); 
    dialogBuilder.setMessage("Mercury"); 
    dialogBuilder.setPositiveButton("Copy!", new DialogInterface.OnClickListener() { 

     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      Toast.makeText(getApplicationContext(), "Copied!", Toast.LENGTH_LONG).show(); 

     } 
    }); 
    dialogBuilder.setNegativeButton("Dismiss!", new DialogInterface.OnClickListener() { 

     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      Toast.makeText(getApplicationContext(), "Dismissed!", Toast.LENGTH_LONG).show(); 

     } 
    }); 
    AlertDialog alertDialog = dialogBuilder.create(); 
    alertDialog.show(); 


} 
+1

정확히 무엇이 도움이 필요한지 불분명합니다. 또한 '복사 됨'이 이미 표시됩니다. – greenapps

+0

@greenapps :'Copy! '를 클릭했을 때'setMessage'의 텍스트를 클립 보드에 복사하기를 원합니다. – CodeWalker

+0

예, 이미 알고 있습니다. 하지만 여기에는 몇 가지 단계가 있습니다. 그러므로 도움이 필요한 단계를 정확히 말해야합니다. – greenapps

답변

0

이 코드는 문자열 "Mercury"를 클립 보드로 보냅니다. 원하는대로 변경하십시오.

@Override 
    public void onClick(DialogInterface dialog, int which) { 
     ClipboardManager clipboard = (ClipboardManager)getApplicationContext().getSystemService(getApplicationContext().CLIPBOARD_SERVICE); 
     ClipData clip = ClipData.newPlainText("","Mercury"); 
     clipboard.setPrimaryClip(clip); 
     Toast.makeText(getApplicationContext(), "Copied!", Toast.LENGTH_LONG).show(); 
    } 
+0

dialogBuilder.setMessage();에 나타나는 텍스트를 보내고 싶습니다. 수성. 어떻게해야합니까? – CodeWalker

+0

"클립 보드로 보내려는 것"을 "수성"으로 변경하십시오. –

+0

LOL : D 알아요. 하지만 어쨌든, 나는 다른 방법을 찾아 냈다. 도와 주셔서 감사합니다! :) – CodeWalker