当我可编程地告诉它并且不允许用户按下他想要的那个时,我想让编辑文本只关注焦点。这可能吗?
我试过了
android:longClickable="false" android:clickable="false"
但都没有奏效。
出于某种原因,人们认为以下内容解决了我的问题,但是那个人正在尝试使编辑文本不可编辑,我试图使编辑文本无法通过单击来调整
试试吧
android:focusable="false"
android:focusableInTouchMode="false"
我遇到了同样的问题并使用以下方法解决了它:
.setEnabled(false) and .setClickable(false)
所以用这个代码:
.setEnabled(false);
.setClickable(false);
尝试使用此代码
EditText et = (EditText) findViewById(R.id.your_edit_text);
et.setFocusable(false);
et.setClickable(true);
在xml文件中尝试使用以下代码 -
android:clickable="false"
android:focusableInTouchMode="true"
在EditText上使用它。我没试过,但希望它有效。
EditText的直接父级应该窃取焦点。例如:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:descendantFocusability="beforeDescendants"
android:focusable="true"
android:focusableInTouchMode="true">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="enter.." />
</LinearLayout>
不确定你是否得到了这个答案,但我必须做同样的事情,虽然这可能不简洁,但我知道它有效:
首先将keyListener设置为null:
myEditText.setKeyListener(null);
接下来,将EditTxt的OnTouch侦听器设置为执行您想要的任何操作:
myEditText.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if(motionEvent.getAction() == MotionEvent.ACTION_UP){
//Do whatever action you need to do here.
}
return false;
}
});
从那里,您只需将操作插入OnTouch侦听器ACTION_UP操作标记即可。在我的例子中,我需要弹出一个带有listview的Dialog,供他们选择,然后将相应的文本设置为EditText。
希望有所帮助。
编程
我遇到了同样的问题并使用以下方法解决了它:
.setEnabled(false), .setClickable(false) and .setFocuseable(false)
所以用这个代码:
et.setEnabled(false);
et.setClickable(false);
et.setFocuseable(false);
使用XML
android:focusable="false"