Java 需要双击编辑文本,单击侦听器才能响应
我有一段代码,当用户选择编辑文本框时,我想更改文本视图中显示的文本 我遇到的问题是,当我双击编辑文本框时,文本视图只会更改,单击一次,文本视图就没有更改 我是否应该使用另一个单击侦听器Java 需要双击编辑文本,单击侦听器才能响应,java,android,android-edittext,onclicklistener,settext,Java,Android,Android Edittext,Onclicklistener,Settext,我有一段代码,当用户选择编辑文本框时,我想更改文本视图中显示的文本 我遇到的问题是,当我双击编辑文本框时,文本视图只会更改,单击一次,文本视图就没有更改 我是否应该使用另一个单击侦听器 final EditText box0105 = (EditText)findViewById(R.id.box0105); final TextView txtHint = (TextView)findViewById(R.id.txtHint); box0105.setOnClickListe
final EditText box0105 = (EditText)findViewById(R.id.box0105);
final TextView txtHint = (TextView)findViewById(R.id.txtHint);
box0105.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txtHint.setText(onOneClick);
}
});
在EditText xml中添加android:focusableInTouchMode=“false”,然后EditText将接受单次单击尝试在TouchListener上设置
而不是单击Listener
使用此选项,它将首先触发
editText.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(MotionEvent.ACTION_UP == event.getAction())
// Do whatever you want to do man, but don't trouble your mother
return false;
}
});
在xml
<EditText
android:focusable="false"
...
/>
我设置了两个侦听器,一个是OnClick,另一个是OnFocusChange。像这样:
editText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("Edittext has been clicked");
}
});
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
System.out.println("Edittext has been clicked");
}
});
当第一次单击Edittext时调用OnFocus,然后调用future times OnClick。focusableInTouchMode=“false”实现了结果,但它也消除了用户使用Edittext的能力(我想是吧?)使用onTouchListener可以接受单击,但也可以维护editText@Kurt:不,它不会删除用户使用Edittext的功能,它只是避免第一次触碰事件。我永远不会理解这个答案是如何获得20票的。