【发布时间】:2013-09-14 08:48:28
【问题描述】:
我有一个列表视图。在每个项目中都有一个文本视图和一个编辑文本.. 我关注了this,但它对我没有多大帮助。然后尝试使用this,但仍然没有帮助。我已经为这样的列表视图项目声明了一个编辑文本。
<EditText
android:id="@+id/dhsv1"
android:layout_width="15dp"
android:layout_height="wrap_content"
android:singleLine="true"
android:editable="true"
android:maxLength="2"
android:focusable="false"
android:focusableInTouchMode="true"
android:imeOptions="flagNoExtractUi|actionDone"
android:inputType="textVisiblePassword|number" />
然后在getview方法中我已经这样做了
number.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
number.setFocusableInTouchMode(true);
number.setFocusable(true);
return false;
}
});
在那之后我什至在listviewonitemclick里面做了
number.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
number.setFocusableInTouchMode(true);
number.setFocusable(true);
number.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if(actionId==EditorInfo.IME_ACTION_DONE){
number.clearFocus();
}
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(number.getWindowToken(), 0);
}
return false;
}
});
return false;
}
});
现在很多人可能想知道为什么我在 getview 和 listview onitemclick 中都写了 number.setontouchlistener。即使我没有找到任何正确的逻辑,但事情是它对我有用。现在实际的问题是当我点击任何编辑文本时(即在我的情况下的数字) 它获得焦点,但它不允许选择或取消选择它自己的项目或列表视图中的任何其他项目。即使我已经通过编码清除了焦点。请任何人提供一些好的解决方案..
【问题讨论】:
标签: android