2014-01-24 4 views
1

ListView에서 텍스트를 복사하는 방법 텍스트를 복사하려면 클립 보드 관리자를 사용하고 있습니다.하지만 작동하지 않습니다. 여기 내 코드입니다 :안드로이드의 listview에서 텍스트를 복사하는 방법은 무엇입니까?

@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

하지만 여기 내 문제는 내가 callit.but이 아니라 onItemLongClickListener listitem에 대한 logclick 디버깅 오전 때 oncrete mMessagesListView.setOnItemLongClickListener (MessagesActivity.this) 내에서 longclicklistener 호출 오전; –

0

명확히주십시오 긴 클릭 리스너가 작동하지 않거나 클립 보드에 복사는이

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