以下源代码无效
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_book_page);
book_page = (EditText) findViewById(R.id.activity_book_page_text);
book_page.setText("Google is your friend.", TextView.BufferType.EDITABLE);
book_page.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
book_page.setSelection( 9, 15);
//book_page.requestFocus();
}
});
book_page.setOnFocusChangeListener(new OnFocusChangeListener(){
@Override
public void onFocusChange(View v, boolean hasFocus){
if (hasFocus){
book_page.setSelection( 9, 15);
}
}
});
<EditText
android:id="@+id/activity_book_page_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#00000000"
android:ems="10"
android:inputType="textMultiLine"
android:selectAllOnFocus="true" >
<requestFocus />
</EditText>
答案 0 :(得分:3)
在.java文件中使用这段代码:
editText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.setSelection(0, editText.getText().length() - 1);
}
}
答案 1 :(得分:1)
使用xml:
android:selectAllOnFocus="true"
代码(option1):
yourEditText.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//((EditText)v).selectAll();
((EditText)v).setSelection(startValue, stopValue);
}
});
也尝试这样:
致电EditText.setSelectAllOnFocus(boolean selectAllOnFocus)
选择焦点上的所有文字。
为您的EditText和onClick调用edittext.selectAll();
答案 2 :(得分:1)
editText.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
editText.performLongClick();
}
});
EditText
的默认长按行为是选择已点按的字词,然后拖动选择标记,因此只需在performLongClick()
中调用onClick()
。