Android EditText 字段在模拟器上运行良好,但在设备上运行不正常

Android EditText field works fine on emulator, but not device

我遇到了一个奇怪的问题。我所做的是制作一个带有 TextViews 和 EditText 字段的自定义 ListView 适配器。当我按下按钮时,应用程序获取 EditText 字段值并将它们保存到设备的 SD 卡中。

我的应用程序在模拟器上工作得很好,但问题是当我在我的设备上测试它时,EditText 字段不断取消选择。换句话说,我会点击EditText字段,键盘和光标会弹出,但光标会立即消失,无法输入任何文本。

我的自定义适配器代码:

@Override
public View getView(int i, View view, ViewGroup viewGroup)
{
    if (view == null)
    {
        LayoutInflater inflater = LayoutInflater.from(viewGroup.getContext());
        view = inflater.inflate(R.layout.list_item_task_detail, viewGroup, false);
    }

    final TaskDetailModel taskDetailModel = listArray.get(i);

    TextView textView = (TextView)view.findViewById(R.id.list_item_task_detail_text_view);
    textView.setText(taskDetailModel.getTaskName());

    EditText editText = (EditText)view.findViewById(R.id.list_item_task_detail_edit_text);

    return view;
}

EditText布局条目:

<EditText
    android:id="@+id/list_item_task_detail_edit_text"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"/>

是否需要将某种 editable = true 添加到 EditText 字段?我觉得我在某个地方犯了一个我似乎无法找到的错误。我也不明白为什么该应用程序可以在模拟器上运行,而不是在我的真实设备上运行 phone.

顺便说一句,模拟器和我的 phone 使用相同的 SDK 版本,API 级别 19 (4.4.x)

我想我设法解决了我自己的问题...

我需要做的就是添加行

editText.requestFocus()

到我的适配器。

我猜如果由于某些奇怪的原因没有设置 requestFocus(),按钮的点击侦听器会覆盖 EditText 字段的焦点请求。仍然不知道为什么这在模拟器上不是问题