2011-10-10 35 views
0

你好我有多重动态edittextbox.i想存储我如何存储它的所有edittextbox值? 我应该在所有的编辑框,应该是我要存储在按钮的单击事件编写 我的代码如下如何在android中存储多个动态edittext值

for(i = 0 ;i < 6; i++) { 
    TableRow tr = new TableRow(this); 
    TableRow tr1 = new TableRow(this); 

    TextView tv1 = new TextView(this); 
    editText1 = new EditText(this);  
    editText1.setWidth(300); 
    tr.addView(tv1); 
    tbl.addView(tr); 

    tr1.addView(editText1); 
    tbl.addView(tr1); 
} 
+0

采取阵在你的代码... 并使用排列U可以存储和获取值返回之前.... 字符串ARRAY_NAME [我] –

+0

您是否想稍后获取editText1值? “商店”是什么意思? –

+0

@MustafaGüven我想获得editText值存储点击事件 – Piyush

回答

2

这里是代码。

EditText[] editText1 = new EditText[6]; 

for(i = 0 ;i < 6; i++) { 
    TableRow tr = new TableRow(this); 
    TableRow tr1 = new TableRow(this); 

    TextView tv1 = new TextView(this); 
    editText1[i] = new EditText(this);  
    editText1[i].setWidth(300); 
    tr.addView(tv1); 
    tbl.addView(tr); 

    tr1.addView(editText1[i]); 
    tbl.addView(tr1); 
} 

public void onClick(View v) 
{ 
    for(int i=0;i<6;i++) 
    { 
     Log.i("----value of EditText:"+i,"."+editText1[i].getText().toString()); 
    } 

} 
2

直接回答你的问题是:

  • 记得你textviews当你创建它们(它们添加到ArrayList例如)

  • 的的onPause()方法您的活动是保留您想要的任何信息的地方(android框架可以在暂停时随时完成您的活动)。

  • 在重写的onPause()方法中,遍历您的ArrayList<TextView>,检索每个TextView内容并将它们存储以供以后使用。 (如果你有一个固定数量的TextViews,你可以考虑使用SharedPreferences,但看看本文的其余部分,看看是否有更好的东西适合你的需求。

  • 然后你可以使用onCreate()或onResume )方法来重新装载您TextViews之前,您的应用程序显示出来。

间接,可能更好,答案将是通过使用数据管理类,将处理储蓄恢复和修改数据从UI数据分开和自定义Adapter这将负责填充TextViews。这样你可以很容易地改变后来解决不同的小部件。

0

我写了这些代码,而无需使用编辑器,检查它使用

String sValues=""; 
     for (int i = 0; i < tbl.getChildCount(); i++) { 
      TableRow row = (TableRow)tbl.getChildAt(i); 
      for (int j = 0; j < row.getChildCount(); j++) { 
       if(row.getChildAt(j) instanceof EditText){ 
        EditText editText1 = (EditText)row.getChildAt(j); 
        sValues += editText1.getText().toString(); 
       } 
      } 
     } 
相关问题