如何使EditText具有onClick事件,以便单击即可完成操作。
private void addListenerOnButton() {
dateChanger = (EditText) findViewById(R.id.date_iWant);
dateChanger.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
showDialog(DATE_DIALOG_ID);
}
});
}
这不是例外情况....单击只显示屏幕键盘,但不是仅在双击时出现的datepicker对话框
答案 0 :(得分:9)
如果我们只是在布局页面上的edittext中添加android:focusableInTouchMode="false"
,那么它应该在其onclicklistener上单击。无需处理onFocusChangeListener。
答案 1 :(得分:0)
<强>重写强>
我有一个EditText,当用户点击一次或使用轨迹球/方向键导航到它时,会启动一个对话框。我用这种方法:
我也试过这个(不过我现在记得这个方法确实对轨迹球运动有所反应):
setFocusable(false)
以阻止用户输入。希望有所帮助。
答案 2 :(得分:0)
将代码从onClickListener更改为OnFocusChangeListener。
private void addListenerOnButton() {
dateChanger = (EditText) findViewById(R.id.date_iWant);
dateChanger.setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus) {
showDialog(DATE_DIALOG_ID);
}
}
});
}
答案 3 :(得分:0)
EditText
不适用于singleClick
。
我的意思是你不应该使用Click Listener。 而你可以这样做,
使用onFocusChangeListener
,这也不是100%正确的方法。
最好使用EditText
使用TextView
一个onClick
来写{{1}},如果需要,可以为该TextView提供背景图片。