请帮我解决这个问题。我已经存货了。我试图使用下面的代码获取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();
但是当我保存它。它只获取第一个editText的值。当我检索到已保存的数据时,它显示第一个editText的值“one”是唯一保存的,这就是我的问题,我不知道该怎么做在hasmap中保存不同editText的值。{{ 0}}
答案 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();
//...
}