Android 编辑文本在单击时失去焦点
我正在写一个活动,列出数据库中的一组项目,并显示一个额外的带有数量的列。我实现了一个ArrayAdapter来显示我的自定义布局。 以下是适配器最重要部分的代码:Android 编辑文本在单击时失去焦点,android,android-edittext,adapter,Android,Android Edittext,Adapter,我正在写一个活动,列出数据库中的一组项目,并显示一个额外的带有数量的列。我实现了一个ArrayAdapter来显示我的自定义布局。 以下是适配器最重要部分的代码: static class ViewHolder { protected TextView text; protected EditText editText; } @Override public View getView(int position, View convertView, ViewGroup paren
static class ViewHolder {
protected TextView text;
protected EditText editText;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = null;
if (convertView == null) {
LayoutInflater inflator = context.getLayoutInflater();
view = inflator.inflate(R.layout.rowquantitylayout, null);
final ViewHolder viewHolder = new ViewHolder();
viewHolder.text = (TextView) view.findViewById(R.id.label);
viewHolder.editText = (EditText) view.findViewById(R.id.editText);
viewHolder.editText.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
Log.i(TAG, "Editable:" + s.toString());
}
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}
public void onTextChanged(CharSequence s, int start,
int before, int count) {
}
});
view.setTag(viewHolder);
viewHolder.editText.setTag(list.get(position));
} else {
view = convertView;
((ViewHolder) view.getTag()).editText.setTag(list.get(position));
}
ViewHolder holder = (ViewHolder) view.getTag();
holder.text.setText(list.get(position).getDescription());
holder.editText.setText("" + list.get(position).getQuantity());
return view;
}
现在,当我尝试聚焦“EditText”时,它在我单击它之后就失去了焦点。它显示了keboard,甚至可以访问Log.i,但不允许我更改值,因为它没有聚焦
感谢您的帮助试试这个:
<EditText
android:id="@+id/editText1"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="textShortMessage" >
<requestFocus />
</EditText>
我也有同样的问题,我一直在寻找答案。 下面是一个类似问题的答案: 您必须在清单中的活动中添加一行:
android:windowSoftInputMode="adjustPan"
您的listview也必须有以下行:
android:descendantFocusability="beforeDescendants"
现在你可能会面临另一个问题,那就是滚动时文本丢失。如果发生这种情况,请参阅本教程:
希望这会有所帮助。
Goui您是否尝试在edittext android上设置类似的属性:focusableInTouchMode=“true”仍然不工作的可能重复项。我不知道这是否有帮助,因为编辑文本位于相对布局中。Hanks,我会尽快尝试。为什么这么简单和常见的任务会如此复杂?我在stackoverflow上找到了另一个相同的解决方案,但后代的聚焦性是后继的。