0

请帮我解决这个问题。我已经入股了。我正在尝试使用下面的代码在哈希图中获取 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();

在此处输入图像描述

但是当我保存它时。它只获取第一个editText 的值。当我检索已保存的数据时,它显示第一个 editText 的值“one”是唯一保存的,这就是我的问题,我不知道如何将不同 editText 的值保存在 hasmap 中。在此处输入图像描述

4

2 回答 2

0

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

无论如何,您会说,“它会根据用户选择的文件数量创建多个 editText。” 然后,当您创建每个EditText将它们放入时,Array您可以遍历它们以获取每个文本以放入HashMap

于 2013-07-17T01:57:19.720 回答
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();
//...
 }
于 2013-07-17T02:00:50.967 回答