填充上一个时自动在下面添加EditText

时间:2018-02-20 20:38:22

标签: java android android-edittext layout-inflater

我有xml个文件:row.xml,其中包含EditText et )和Spinner。 活动开始,我在视图中“膨胀”row.xml并设置一个监听器 - 当 et 更改时,row.xml会自动膨胀。我的代码如下所示。

<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="15dp"
    android:paddingRight="15dp"
    android:paddingTop="3dp"
    android:paddingBottom="3dp">
  <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@id/spinnerDay"
        android:id="@+id/nameUser"
        android:theme="@style/myEditText"
        android:layout_marginRight="18dp"
        />
  <Spinner
        android:layout_width="wrap_content"
        android:layout_height="38dp"
        android:id="@+id/spinnerDay"
        android:layout_alignParentRight="true"
        android:popupBackground="#FFFFFFFF"
        android:background="@drawable/selector_spinner">
  </Spinner>
</RelativeLayout>

我的问题是为新行设置一个监听器,以便重复这个技巧。

LinearLayout v = new LinearLayout(context);
v.addView(rowView);
View rowView = inflater.inflate(R.layout.row, null);
((LinearLayout) rootView.findViewById(R.id.userList)).addView(v);

R.id.userList是我膨胀row.xml

的视图

EditText的监听器

((EditText) rootView.findViewById(R.id.nameUser)).setOnKeyListener(new View.OnKeyListener() {
 @Override
 public boolean onKey(View view, int i, KeyEvent keyEvent) {
  LinearLayout v = new LinearLayout(view.getContext());
  v.addView(rowView);
  ((LinearLayout) rootView.findViewById(R.id.userList)).addView(v);
  return false;
 }
});

我不是专家程序员,所以我问:产品这样的效果的最佳方法是什么,并重新插入数据?

所有事情都变得更加棘手,因为我在FragmentsFragmentActivity工作,我应该在最后一个中获取数据,然后确认...我怎样才能保存et的内容?

任何帮助将不胜感激,谢谢!

0 个答案:

没有答案