如何在android中的hashmap中获取不同editText的值

时间:2013-07-17 01:42:51

标签: android hashmap android-edittext

请帮我解决这个问题。我已经存货了。我试图使用下面的代码获取hashmap内的editText的值。它根据用户选择的文件数创建多个editText。

//SAVE All Attachment
EditText txt_iDesc = (EditText)findViewById(R.id.txt_iDesc);

SQLiteDatabase db = databaseHandler.getWritableDatabase();
db.beginTransaction();

for(HashMap<String, String> map : mylist)
{
    String desc = txt_iDesc.getText().toString();
    ContentValues cv = new ContentValues();
    cv.put(Constants.ATTACH_REPORTCODE, ReportCode);
    cv.put(Constants.ATTACH_FILENAME, map.get(FILE_NAME));
    cv.put(Constants.ATTACH_DESCRIPTION, desc);
    cv.put(Constants.ATTACH_FILELOCATION, map.get(FILE_URI));
    cv.put(Constants.ATTACH_CREATEDBY, map.get(UPLOADED_BY));
    cv.put(Constants.ATTACH_DATECREATED, map.get(DATE_UPLOADED));

    db.insert(Constants.TABLE_ATTACH, null, cv);
}

db.setTransactionSuccessful();
db.endTransaction();
db.close();

enter image description here

但是当我保存它。它只获取第一个editText的值。当我检索到已保存的数据时,它显示第一个editText的值“one”是唯一保存的,这就是我的问题,我不知道该怎么做在hasmap中保存不同editText的值。{{ 0}}

2 个答案:

答案 0 :(得分:0)

嗯......你只展示一个EditText。您的代码中的其他人在哪里?

无论如何,你说,“它创建了多个editText,具体取决于用户选择的文件数量。”然后,当您创建每个EditText时,将它们放在Array中,然后您可以迭代它们以获取每个文本以放入HashMap

答案 1 :(得分:0)

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

for(HashMap<String, String> map : mylist)
{
// you are using the same edit text reference in your code, you should create multiple edit  text
 String desc = txt_iDesc.getText().toString();
//...
 }