Android 添加、保存和删除tablerow
我想创建一个带有Android 添加、保存和删除tablerow,android,save,row,android-tablelayout,tablerow,Android,Save,Row,Android Tablelayout,Tablerow,我想创建一个带有按钮的表格,每次单击该按钮时,都会添加一个带有三个文本视图的表格行。目前,我只能添加到表格行,而没有文本视图,但是,当我关闭应用程序时,创建的行没有保存,谁能帮助我 这是我的代码: public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstan
按钮的表格
,每次单击该按钮时,都会添加一个带有三个文本视图的表格行
。目前,我只能添加到表格行
,而没有文本视图
,但是,当我关闭应用程序时,创建的行没有保存,谁能帮助我
这是我的代码:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnAddItem = (Button) findViewById(R.id.addItemTableRow);
btnAddItem.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
TableLayout table = (TableLayout) findViewById(R.id.tableLayout1);
TableRow row = new TableRow(MainActivity.this);
TextView t = new TextView(MainActivity.this);
t.setText("Add table row");
row.addView(t);
table.addView(row, new TableLayout.LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
}
});
}
}
您不能将视图永久添加到布局(“永久”表示在关闭的应用程序中仍然存在)
如果您指的是将应用程序置于后台(即当用户按下“主页”按钮时),或当用户打开设备时,或当您启动另一项活动并返回到此活动时,android允许您通过两次回调“保存”活动状态:
即onSaveInstanceState和onRestoreInstanceState
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putInt("numRows", rowsNum);
for (int i=1;i<rowsNum+1;i++) {
savedInstanceState.putString("row"+i+"1", "Text of the first row first cell");
savedInstanceState.putString("row"+i+"2", "Text of the first row second cell");
savedInstanceState.putString("row"+i+"3", "Text of the first row third cell");
}
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
int numRows = savedInstanceState.getInt("numRows");
for (int i=1;i<rowsNum+1;i++) {
String cell1 = savedInstanceState.getString("row"+i+"1");
String cell2 = savedInstanceState.getString("row"+i+"2");
String cell3 = savedInstanceState.getString("row"+i+"3");
//re-create the table here from the strings
}
}
@覆盖
SaveInstanceState上的公共无效(Bundle savedInstanceState){
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putInt(“numRows”,rowsNum);
对于(int i=1;ii)添加tablerow,但当我关闭应用程序时,tablerow不会保存。如果要保存数据,请尝试SQLite。谢谢您的帮助…我想通过创建XML文件来完成,但不知道如何做