2011-12-22 5 views
6

ListView의 하위 요소 인 EditText에서 일부 텍스트를 선택하고 싶습니다. 선택한 텍스트는 클립 보드에 설정해야합니다. 이에 관한 예를 찾을 수 없습니다. 어떻게해야합니까? selectionStart 및 selectionEnd는 이에 대해 작동하지 않습니다. 감사합니다. .복사 할 텍스트를 선택하십시오. Android EditText

+0

죄송 문제에 필요한 작성하기가 훨씬 더 시간이 없어,의 몇 분 SO 검색 날이 준 링크를 클릭하면 도움이 될 것입니다. 만약 당신이 이미 이것을 시도했다면 sorry.http : //stackoverflow.com/questions/2679948/focusable-edittext-inside-listview – kosa

+1

나는 explicity에 코멘트가 시간이 없다고 말했다. 너무 많이 쓰지 말아라. 여기서 문제는 귀하와 커뮤니티가 귀하를 도우려는 것입니다. 지역 사회가 당신을 위해 모든 것을 쓸 것이라고 생각하지 마십시오. 링크가 유용하지 않으면 무시할 수 있습니다. 당신의 모든 반응은 받아쓰기가 좋지 않습니다. – kosa

+0

이봐, 나는 아무 것도 지시하지 않는다. 나는 정크 션 답장에서 커뮤니티를 막으려 고하고있다. 나를 오해하지 마라. –

답변

0

EditText는 이미 길게 누르기에서이 기능을 제공합니다 .... editText에 긴 터치를 누르는 것을 의미합니다. 전체 선택 메뉴, 텍스트 선택, 모두 복사를 묻는 컨텍스트 메뉴로 팝업됩니다.

+0

목록보기에서 그렇게 해보고 나중에 논의 할 수 있습니다. –

+0

미안하지만, ListView에서 같은 것을 보지 못했다는 것이 내 실수였습니다. 이제 어떻게해야하는지 궁금합니다. – Kri

1

사용 당신은 EDITTEXT 긴 클릭 이벤트 inlistView 사용자 정의 어댑터 및 표시이 옵션 사본에 하나의 대화 상자를 열고 그 안에 붙여 넣을 수 있습니다

ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); clipboard.setText(txtEdit.getText().toString());

+0

시도해도되지만 작동하지 않습니다. 나는 가능한 모든 방법을 시도해 왔습니다. 그러나 그것은 효과가없는 것처럼 보입니다. android에서 목록 초점에 문제가 있습니다. 그것은 항상 하위 요소와 상위 요소를 혼동합니다. –

0

리스트 선택 이벤트에이 코드

텍스트를 복사 할 수 있습니다 programically

ClipboardManager clipboard = 
           (ClipboardManager) c1.getSystemService(c1.CLIPBOARD_SERVICE); 

         clipboard.setText("Text to copy"); 

를 사용하여 텍스트를 얻을

System.out.println(clipboard.getText()); 
+0

문제를 이해하지 못합니다. Listview는 자식 요소에 문제가 있습니다. –

2

가능한 해결책은 다음과 같습니다. 목록보기의의 getView 방법으로 수술 후 수행

은 ExtractedText에 의해 주어진
enter code here: 

public View getView(final int position, View convertView, ViewGroup parent) { 
      // A ViewHolder keeps references to children views to avoid unneccessary calls 
      // to findViewById() on each row. 
      final ViewHolder holder; 


      if (convertView == null) { 
       convertView = mInflater.inflate(R.layout.main, null); 

       // Creates a ViewHolder and store references to the two children views 
       // we want to bind data to. 
       holder = new ViewHolder(); 


       holder.subText = (TextView) convertView.findViewById(R.id.subTxt);  

       convertView.setTag(holder); 
      } else { 
       // Get the ViewHolder back to get fast access to the TextView 
       // and the ImageView. 
       holder = (ViewHolder) convertView.getTag(); 
      } 

      //TEXT BOX position is 0 then 
      if(position == 0) { 

       ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); clipboard.setText(txtEdit.getText().toString()); 
      } 
      return convertView; 
     } 
+0

이것은 작동하지 않을 것입니다. editText는 이것에 초점을 두지 않을 것입니다. –

0
InputConnection ic = getCurrentInputConnection(); 
ExtractedText extracted = ic.getExtractedText(
        new ExtractedTextRequest(), 0); 
      /*If selection start and end are not equal then selected text 
      * needs to be deleted and updated to core*/ 
      if (extracted!= null && extracted.selectionStart != extracted.selectionEnd) { 
} 

사용 API를