有一行包含 14 个编辑文本。有两个用于动态添加和删除行的按钮。不知何故我可以做到这一点,我的问题是每次添加一行时,行的所有编辑文本都具有相同的 id 和名称。所以我的问题是。1.如何在单击添加按钮时更改edittext的名称和ID。2.添加如何将多行的值存储到数据库中。
我的代码是..
row.xml
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_back"
android:layout_gravity="center_vertical" >
<EditText
android:id="@+id/req"
android:layout_width="85dp"
android:layout_height="wrap_content"
android:background="#00000000">
<requestFocus />
</EditText>
<EditText
android:id="@+id/fm"
android:layout_width="82dp"
android:layout_height="wrap_content"
android:inputType="text"
android:background="#00000000"
android:ems="10" />
<EditText
android:id="@+id/effects"
android:layout_width="82dp"
android:inputType="text"
android:layout_height="wrap_content"
android:background="#00000000"
android:ems="10" />
<EditText
android:id="@+id/sev"
android:layout_width="30dp"
android:layout_height="wrap_content"
android:background="#00000000"
android:layout_marginRight="10dp"
android:inputType="text"
android:ems="10" />
<EditText
android:id="@+id/causes"
android:layout_width="82dp"
android:layout_height="wrap_content"
android:inputType="text"
android:background="#00000000"
android:ems="10" />
<EditText
android:id="@+id/occ"
android:layout_width="35dp"
android:inputType="text"
android:layout_height="wrap_content"
android:background="#00000000"
android:layout_marginRight="7dp"
android:ems="10" />
<EditText
android:id="@+id/process"
android:layout_width="85dp"
android:inputType="text"
android:layout_height="wrap_content"
android:background="#00000000"
android:ems="10" />
<EditText
android:id="@+id/det"
android:layout_width="35dp"
android:inputType="text"
android:layout_height="wrap_content"
android:background="#00000000"
android:layout_marginRight="3dp"
android:ems="10" />
<EditText
android:id="@+id/rpn"
android:layout_width="35dp"
android:inputType="text"
android:layout_height="wrap_content"
android:background="#00000000"
android:layout_marginRight="5dp"
android:ems="10" />
<EditText
android:id="@+id/recommended"
android:layout_width="82dp"
android:inputType="text"
android:layout_height="wrap_content"
android:background="#00000000"
android:layout_marginRight="2dp"
android:ems="10" />
<EditText
android:id="@+id/sev2"
android:layout_width="35dp"
android:inputType="text"
android:layout_height="wrap_content"
android:background="#00000000"
android:layout_marginRight="3dp"
android:ems="10" />
<EditText
android:id="@+id/occ2"
android:layout_width="35dp"
android:inputType="text"
android:layout_height="wrap_content"
android:background="#00000000"
android:layout_marginRight="8dp"
android:ems="10" />
<EditText
android:id="@+id/det2"
android:layout_width="35dp"
android:inputType="text"
android:layout_height="wrap_content"
android:background="#00000000"
android:layout_marginRight="3dp"
android:ems="10" />
<EditText
android:id="@+id/new_rpn"
android:layout_width="35dp"
android:inputType="text"
android:layout_height="wrap_content"
android:background="#00000000"
android:layout_marginRight="6dp"
android:ems="10" />
<EditText
android:id="@+id/resp"
android:layout_width="85dp"
android:inputType="text"
android:layout_height="wrap_content"
android:background="#00000000"
android:ems="10" />
<EditText
android:id="@+id/target_date"
android:layout_width="40dp"
android:inputType="date"
android:layout_height="wrap_content"
android:background="#00000000"
android:ems="10" />
创建.class
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.create_fmea_2);
mContainerView = (LinearLayout) findViewById(R.id.parentView);
mAddButton = (ImageButton) findViewById(R.id.btnAddNewItem);
mDeleteButton=(ImageButton)findViewById(R.id.btnDelete);
// Add some examples
inflateEditRow(count);
}
public void onAddNewClicked(View v) {
count++;
inflateEditRow(count);
v.setVisibility(View.VISIBLE);
// System.out.println("value of count "+count);
}
public void onDeleteClicked(View v) {
// remove the row by calling the getParent on button
// mContainerView.removeView((View) v.getParent());
int del=count;
if(del-->=1){
mContainerView.removeViewAt(del);
count--;
}
else{
Toast.makeText(getApplicationContext(), "Add row to delete", Toast.LENGTH_SHORT).show();
}
}
private void inflateEditRow(int id) {
alleds=new ArrayList<EditText>();
int et_id=1;
for(int i=1;i<=id;){
// System.out.println("value of i "+i);
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
rowView = inflater.inflate(R.layout.row1, null);
rowView.setId(count);
i++;
}
提前致谢。