2014-01-24 5 views
1

Как скопировать текст из ListView? Для копирования текста я использую менеджер буфера обмена usin. Но он не работает. вот мой код:Как скопировать текст из списка в андроид?

@Override 
public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int arg2, 
     long arg3) { 
    // TODO Auto-generated method stub 
    String message = mMessagelist.get(arg2).getMessage_text().toString(); 

    if (true) { 

     CLIPBOARD_TEXT = ((TextView) findViewById(R.id.message)) 
       .getText().toString(); 
     alert.showAlertDialog(MessagesActivity.this, "", 
       "Your text is copied to clipboard", false); 
     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { 
      android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); 
      ClipData clip = ClipData.newPlainText("simple text", 
        CLIPBOARD_TEXT); 
      clipboard.setPrimaryClip(clip); 
     } else { 
      android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); 
      clipboard.setText(CLIPBOARD_TEXT); 
     } 

    } 
    return true; 
} 

когда пользователь долго нажмите на пункт я просто показывает всплывающее окно и скопировать текст, но это не working..Please помочь мне.

+0

вы использовали пользовательские 'listView' с пользовательским адаптером в вас код? –

ответ

0
CLIPBOARD_TEXT = ((TextView) findViewById(R.id.message)).getText().toString(); 

попытаться разбить его по частям.

String CLIPBOARD_TEXT; 
TextView tvMsg = (TextView) findViewById(R.id.message); 
CLIPBOARD_TEXT = tvMsg.getText().toString(); 

и

ClipData clip = ClipData.newPlainText("simple text", CLIPBOARD_TEXT); 

в

ClipData clip = ClipData.newPlainText(CLIPBOARD_TEXT, CLIPBOARD_TEXT); 

надежда, что работает.

+0

, но здесь моя проблема в том, что когда я отлаживаю logclick в listitem, это onItemLongClickListener не вызывает. Но я звоню longclicklistener внутри oncrete mMessagesListView.setOnItemLongClickListener (MessagesActivity.this); –

0

Просьба уточнить ваш длинный нажмите слушатель не работает или копирования в буфер обмена не работает

для копирования просто использовать этот

ClipData myClip; 
String text = "hello world"; 
myClip = ClipData.newPlainText("text", text); 
myClipboard.setPrimaryClip(myClip); 

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

  • Нет связанных вопросов^_^