2015-11-23 4 views
0

В моем приложении я хочу скопировать выбранные данные в буфер обмена, не используя контекстную панель действий, которая появляется после длительного нажатия на текст в веб-просмотре.Скопируйте текст в буфер обмена, нажав специальную кнопку на Android.

buttonPlay.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 


       ClipboardManager mClipboard = 
         (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); 

       KeyEvent shiftPressEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN, 
         KeyEvent.KEYCODE_SHIFT_LEFT, 0, 0); 
       shiftPressEvent.dispatch(webView1); 
       if(mClipboard!=null) { 
        text = mClipboard.getText().toString(); 
        //Toast.makeText(MainActivity.this, "select_text_now  "+text, LENGTH_LONG).show(); 

        //***************############################################28112013 
        //online part added 

        MyTask myTask = new MyTask(); 
        myTask.execute(text); 

        //############################################################# 

        return; 
       } 
      } 
     }); 

как вы можете видеть, текст извлекается из буфера обмена. Я хочу напрямую отправить выделенный текст в буфер обмена нажатием этой кнопки. Пожалуйста, помогите, любое предложение оценено.

+0

Этот пример очень многое объясняет все о [ClipboardManager] (http://developer.android.com/reference/android/text/ClipboardManager.html) в андроида: [Копировать в учебник ClipBoard] (http://www.tutorialspoint.com/android/android_clipboard.htm) – activesince93

+0

Привет, Амитеш, вы нашли какое-либо решение? Дайте мне знать, если вы это узнаете. Благодаря!!! –

+0

@GaneshKatikar no Я этого не делал .. было одно решение, которое я нашел, но это было pre gingerbread, так что не очень помогло ... –

ответ

0

использовать это, может быть, это поможет вам

private void setClipboard(String text) { 
     if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB) { 
      android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE); 
      clipboard.setText(text); 
     } else { 
      android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE); 
      android.content.ClipData clip = android.content.ClipData.newPlainText("Text : ", text); 
      clipboard.setPrimaryClip(clip); 
     } 
    } 
+0

Я знаю этот метод установки текста в буфер обмена. то, что я прошу, после того, как я выберу определенную часть текста после длительного нажатия на содержимое веб-просмотра, как я отправлю этот текст менеджеру буфера обмена ??? –