2015-03-31 83 views
0

我已经以编程方式创建了动态编辑文本。在定制对话框窗口中,您可以看到编辑文本代码。在数据库中存储动态编辑文本值

我需要什么:

对于如:如果我进入编辑文本值3,则三个编辑文本将created.My唯一的问题是,我要救三个编辑文本值我在customSave按钮中创建的数据库。

Detail.java:

EditText value; 

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

setContentView(R.layout.detail); 

value = (EditText) findViewById(R.id.value); 

btnAddCount.setOnClickListener(new OnClickListener() { 

       @Override 
       public void onClick(View v) { 
        // TODO Auto-generated method stub 
        final Dialog dialog = new Dialog(Detail.this); 

        //setting custom layout to dialog 
        dialog.setContentView(R.layout.custom_dialog_layout); 

        dialog.setTitle("Add List"); 

        //adding button click event 
        final Button createEditText = (Button) dialog.findViewById(R.id.button); 

        createEditText.setOnClickListener(new OnClickListener() { 
         @Override 
         public void onClick(View v) { 

          count = value.getText().toString(); 


          int i = Integer.parseInt(count); 


          if (i >= 0) { 
           do { 


            et = new EditText(VehicleDetail.this); 


            FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
            params.gravity = Gravity.CENTER; 

            ((LinearLayout) dialog.findViewById(R.id.container)).addView(et); 

            //   db.execSQL("insert into PassengerDetail (PASSENGER_ID) values('" + et.getText().toString() + "')"); 


            i--; 
            createEditText.setVisibility(View.INVISIBLE); 


           } while (i > 0); 

           Toast.makeText(getApplicationContext(), "Running", Toast.LENGTH_LONG).show(); 

          } 
         } 
        }); 


        customSave.setOnClickListener(new OnClickListener() { 
         @Override 
         public void onClick(View v) { 


          db.execSQL("insert into Detail(NUMBER_ID) values('" + et.getText().toString() + "')"); 


          Log.d("Edit", "editText" + et); 

          dialog.dismiss(); 
         } 
        }); 

        dialog.show(); 
       } 


      }); 

如果我进入编辑文本值3,而点击customSave按钮,我不得不存储在database.But在3行中的三个编辑文本值现在只有一个编辑文本将被存储在数据库中。

任何人都可以帮助我。谢谢。 Edittexts的

+0

你有回答r? – Ajeet 2015-03-31 05:34:12

+0

@Ajeet仍然不是 – Steve 2015-03-31 05:36:22

回答

3

申报的ArrayList全球为:

ArrayList<EditText> editTexts = new ArrayList<EditText>(); 

在你do while循环添加所有新创建的编辑文本对象:

editTexts.add(et);

在customSave onclickListner

然后让所有的编辑文本和保存在数据库中为:

for (Iterator iterator = editTexts.iterator(); iterator.hasNext();) { 
    EditText editText = (EditText) iterator.next(); 
    db.execSQL("insert into Detail(NUMBER_ID) values('" + editText.getText().toString() + "')"); 
     Log.d("Edit", "editText" + et); 
} 
editTexts.clear(); 
+1

正确,正是我要回答的。 – Ajeet 2015-03-31 05:50:24

+1

非常感谢你,工作得很好 – Steve 2015-03-31 05:55:32