2012-07-12 2 views
-1

텍스트 뷰에서 특정 단어의 정확한 값을 얻을 수있는 방법은 다음과 같습니다. 1 - 사용자가 단어를 녹화했습니다 (이 단어는 텍스트 청크에서 많은 문자 중 하나 일 수 있음) , 2 - textview의 xml 레이아웃에 android : textIsSelectable = "true", 이 있으므로 기본적으로 android는 사용자가 특정 단어 을 강조 표시하도록 허용하고 작은 메뉴 (복사, 붙여 넣기, 공유)를 엽니 다. 나는이 메뉴를 조작하거나 어쩌면 그것을 확장하고 강조 표시된 단어로 원하는 것을하기 위해 더 많은 옵션을 추가 할 수 있습니까?안드로이드 텍스트 뷰에서 단어를 선택하는 방법

나는 (... 클릭, 탭, 선택) 사용자와의 상호 작용이에 따라 정확한 단어를 얻을 수

내가 어떤 정직하고 대답을 찾을 수 없습니다 필요합니다. 그것은 가능한가?

감사 (I 안드로이드 HTC 원 X가).

답변

1

시나리오에 더 적합한 구성 요소는 EditText입니다.

그것은 당신의 매니페스트 파일에 다음과 같이 선언한다 : 다음

<EditText 
android:text=" This is not an editable EditText" 
android:id="@+id/EditText01" 
android:layout_width="wrap_content" 
android:textColor = "@android:color/white" 
android:editable = "false" 
android:cursorVisible="false" 
android:layout_height="wrap_content" 
android:background = "@android:drawable/dark_header"> 
</EditText> 

, 그것은 코드의 두 줄이 선택한 텍스트를 얻을 수 있습니다 : 여기

EditText et = (EditText)findViewById(R.id.title); 
String selectedText = et.getText().substring(et.getSelectionStart(), et.getSelectionEnd()); 

을, 우리는 텍스트 가정 왼쪽에서 오른쪽으로 선택되었습니다. 오른쪽에서 왼쪽으로 선택하면 위의 경우 예외가 발생하므로 시작 위치가 끝 위치보다 높은지 확인하여이를 피할 수 있습니다.

관련 문제