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: Я просто хочу, чтобы текст в 'setMessage' был скопирован в буфер обмена при нажатии кнопки« Копировать! ». – CodeWalker

+0

Да, я уже знаю. Но это предполагает несколько шагов. Поэтому вам нужно точно сказать, с какими шагами вам нужна помощь. – greenapps

ответ

0

Этот код отправит строку «Меркурий» в ваш буфер обмена. Измените его так, как хотите.

@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();' ie ' Mercury'. Как мне это сделать ? – CodeWalker

+0

Изменить «ЧТО ВЫ ХОТИТЕ ОТПРАВИТЬ КЛИПКА» на «Меркурий» –

+0

LOL: D Я знаю это. Но в любом случае я решил еще один выход. Спасибо за помощь! :) – CodeWalker

Смежные вопросы