从 layoutinflater 中的 edittext 中保存值
Save value from edittexts inside layoutinfaltter
我正在使用 layoutinflatter 在单击按钮时显示多个 edittexts 和 textviews...我如何处理 edittetxts 和 textviews 中的值..?
我的代码..
buttonAdd.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View arg0) {
LayoutInflater layoutInflater =
(LayoutInflater) getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View addView = layoutInflater.inflate(R.layout.row, null);
TextView textOut = (TextView)addView.findViewById(R.id.textout);
EditText val=(EditText)addView.findViewById(R.id.val);
textOut.setText(textIn.getText().toString());
Button buttonRemove = (Button)addView.findViewById(R.id.remove);
buttonRemove.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
((LinearLayout)addView.getParent()).removeView(addView);
}});
container.addView(addView);
}
});
row.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/textout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@id/textout"
android:layout_weight="1" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/val"
android:layout_weight="1"
android:hint="Value" />
<Button
android:id="@+id/remove"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="Remove"
/>
</LinearLayout>
我需要在数据库中插入值作为 textview(textout
) 作为列名和 edittext(val
) 作为值...我该如何解决这个问题?
当您尝试在布局上添加行时,
你正在创建这样的对象
final View addView = layoutInflater.inflate(R.layout.row, null);
现在只需创建一个 ArrayList,您可以在其中像这样添加此视图
list.add(addView);
最后,当您想提交数据时,只需迭代所有视图,并使用
获取其子元素
((TextView)addView.findViewById(<your text view's id>)).getText();
并将其保存到您的数据库中,或您想要使用它的任何其他地方。
我正在使用 layoutinflatter 在单击按钮时显示多个 edittexts 和 textviews...我如何处理 edittetxts 和 textviews 中的值..? 我的代码..
buttonAdd.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View arg0) {
LayoutInflater layoutInflater =
(LayoutInflater) getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View addView = layoutInflater.inflate(R.layout.row, null);
TextView textOut = (TextView)addView.findViewById(R.id.textout);
EditText val=(EditText)addView.findViewById(R.id.val);
textOut.setText(textIn.getText().toString());
Button buttonRemove = (Button)addView.findViewById(R.id.remove);
buttonRemove.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
((LinearLayout)addView.getParent()).removeView(addView);
}});
container.addView(addView);
}
});
row.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/textout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@id/textout"
android:layout_weight="1" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/val"
android:layout_weight="1"
android:hint="Value" />
<Button
android:id="@+id/remove"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="Remove"
/>
</LinearLayout>
我需要在数据库中插入值作为 textview(textout
) 作为列名和 edittext(val
) 作为值...我该如何解决这个问题?
当您尝试在布局上添加行时, 你正在创建这样的对象
final View addView = layoutInflater.inflate(R.layout.row, null);
现在只需创建一个 ArrayList,您可以在其中像这样添加此视图
list.add(addView);
最后,当您想提交数据时,只需迭代所有视图,并使用
获取其子元素((TextView)addView.findViewById(<your text view's id>)).getText();
并将其保存到您的数据库中,或您想要使用它的任何其他地方。