我有一个editText,并为其添加了一个onClickListener。在点击方法中,我只是清除文本。当我第一次单击editText键盘弹出时。但它没有进入onClick方法。第二次点击它时,它会被调用并清除文本。
qtyEditTxt=(EditText)findViewById(R.id.qtyet);
qtyEditTxt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
qtyEditTxt.setText("");
}
});
我看到一个问题,回答说要将android:focusableInTouchMode设为false。但那时我将无法输入文字。请帮助我
答案 0 :(得分:4)
焦点怎么样?
final EditText qtyEditTxt= (EditText) findViewById(R.id.qtyet);
qtyEditTxt.setOnFocusChangeListener(new OnFocusChangeListener()
{
@Override
public void onFocusChange(View v, boolean isFocus)
{
if (isFocus)
{
qtyEditTxt.setText("");
}
}
});
编辑:
默认文字?你去了:))
android:hint="Enter Quantity"
答案 1 :(得分:2)
您尝试拥有的行为与EditText
的现有功能非常相似。
看看: http://developer.android.com/reference/android/widget/TextView.html#attr_android:hint
答案 2 :(得分:1)
ClickListener不是editText的不错选择。使用
editText.setOnEditorActionListener(new TextWatcher() {
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
})
}
答案 3 :(得分:0)
在layout.xml文件中关闭EditText标记后立即添加<requestFocus />