1

在子视图中的 ExpandableListView 上显示 EditText“edName”。用户更改 EditText 中的文本后,需要 a) 更新数据库 b) 在新文本上刷新 ExpandableListView 组文本。

我的想法是 - 完成更改文本后,用户将焦点更改为下一个 View 元素。在 EditText 失去焦点我写入数据库并调用 notifyDataSetChanged();

addTextChangedListener 不适合,需要在一组文本后响应。

public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, android.view.ViewGroup parent) 
{
  View view = super.getChildView(groupPosition, childPosition, isLastChild, convertView, parent);

  final EditText edName = (EditText) view.findViewById(R.id.edName);
  edName.setOnFocusChangeListener(new OnFocusChangeListener() 
  {
    public void onFocusChange(View arg0, boolean focusable) 
    {
      Log.e("Name", "Focusable: " + focusable + " CurValue: " + dataItem.Name + " ETValue: " + edName.getText().toString());
    }
  });
}

在没有 ExpandableListView 的视图上,用户从 EditText 触摸另一个位置后,EditText 失去焦点,但在使用 ExpandableListView 的视图上

群组展开:

10-25 22:52:44.390: E/Name(24403): Focusable: false CurValue: tytyy ETValue: tytyy
10-25 22:52:44.390: E/Name(24403): Focusable: true CurValue: tytyy ETValue: tytyy

触摸EditText:

10-25 22:54:18.072: E/Name(24403): Focusable: false CurValue: tytyy ETValue: tytyy
10-25 22:54:18.092: E/Name(24403): Focusable: true CurValue: tytyy ETValue: tytyy
10-25 22:54:18.642: E/Name(24403): Focusable: false CurValue: tytyy ETValue: tytyy
10-25 22:54:18.662: E/Name(24403): Focusable: true CurValue: tytyy ETValue: tytyy

输入“u”:

10-25 22:54:56.369: E/Name(24403): Focusable: false CurValue: tytyy ETValue: tytyy
10-25 22:54:56.369: E/Name(24403): Focusable: true CurValue: tytyy ETValue: tytyy
10-25 22:54:56.399: E/Name(24403): Focusable: false CurValue: tytyy ETValue: tytyyu
10-25 22:54:56.409: E/Name(24403): Focusable: true CurValue: tytyy ETValue: tytyyu

输入“我”:

10-25 22:56:05.557: E/Name(24403): Focusable: false CurValue: tytyy ETValue: tytyyu
10-25 22:56:05.567: E/Name(24403): Focusable: true CurValue: tytyy ETValue: tytyyu
10-25 22:56:05.657: E/Name(24403): Focusable: false CurValue: tytyy ETValue: tytyyui
10-25 22:56:05.657: E/Name(24403): Focusable: true CurValue: tytyy ETValue: tytyyui

触摸另一个 EditTest:

10-25 22:56:44.605: E/Name(24403): Focusable: false CurValue: tytyy ETValue: tytyyui
10-25 22:56:44.665: E/Name(24403): Focusable: true CurValue: tytyy ETValue: tytyyui
10-25 22:56:44.755: E/Name(24403): Focusable: false CurValue: tytyy ETValue: tytyyui
10-25 22:56:44.755: E/Name(24403): Focusable: true CurValue: tytyy ETValue: tytyyui
10-25 22:56:46.787: E/Name(24403): Focusable: false CurValue: tytyy ETValue: tytyyui

为什么重心变化这么多?

作为另一种确定文本变化的方法?

4

0 回答 0