마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

텍스트 뷰에서 isTextSelectable을 통해서 드래그 된 string값을 받아오는 방법이 없나요?

0 추천
말 그대로 텍스트 뷰에서  isTextSelectable을 쓰면 드래그가 되는데 이 드래그 된 문자를 string 값으로 받아올 수 있는 방법이이 없나요 ?  드래그만 되고 아무것도 할 수 가 없네요 ;;; 리스너도 없는거 같고 ;;
머리용량한계 (290 포인트) 님이 2015년 3월 25일 질문

1개의 답변

+2 추천
 
채택된 답변

textView.getText().toString().substring(textView.getSelectionStart(), textView.getSelectionEnd();

위 코드를 사용 하시면 현재 선택된 문자열을 가지고 올 수 있습니다.

 

그리고 텍스트가 선택이 됬을때 나타나는 단말기 자체 기능에서도 복사라던가

별도의 버튼을 클릭했을때 선택된 문자를 가져오도록 되있는걸로 알고있습니다.

실시간으로 텍스트의 selected영역이 변경 되는걸 캐치 할 수 있는 리스너가 있는지는 잘 모르겠네요.

 

TextView tx = findViewById(R.id.exText);

Button btn = findViewById(R.id.exButton);

String selectedStr = null;

btn.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View view) {
    selectedStr = tx.getText().toString().substring(tx.getSelectionStart(), tx.getSelectionEnd();             
  }
});
 
위 코드는 별도 버튼 클릭시 현재 Selected되있는 텍스트를 가져오게 하는 예제 입니다.
어떤 이벤트로 텍스트를 가져올지는 질문자님이 정해서 사용하시면 될 거 같습니다.
 

 

띠깔라1 (4,200 포인트) 님이 2015년 3월 25일 답변
머리용량한계님이 2015년 3월 28일 채택됨
...