2015-03-31 86 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