Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中获取hashmap中不同editText的值_Android_Hashmap_Android Edittext - Fatal编程技术网

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

如何在android中获取hashmap中不同editText的值,android,hashmap,android-edittext,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

请帮我修一下这个。我已经准备好了。我试图使用下面的代码获取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 txt_iDesc=(EditText)findViewById(R.id.txt_iDesc);
SQLiteDatabase db=databaseHandler.getWritableDatabase();
db.beginTransaction();
for(HashMap映射:mylist)
{
字符串desc=txt_iDesc.getText().toString();
ContentValues cv=新的ContentValues();
cv.put(常数.ATTACH_报告代码,报告代码);
cv.put(Constants.ATTACH_FILENAME,map.get(FILE_NAME));
cv.put(常数。附加说明,描述);
cv.put(Constants.ATTACH_FILELOCATION,map.get(FILE_URI));
cv.put(Constants.ATTACH_CREATEDBY,map.get(upload_BY));
cv.put(Constants.ATTACH_DATECREATED,map.get(DATE_UPLOADED));
db.insert(常量表_附件,空,cv);
}
db.setTransactionSuccessful();
db.endTransaction();
db.close();


但是当我保存它的时候。它只获取first editText的值。当我检索已保存的数据时,它显示first editText的值“one”是唯一保存的,这是我的问题,我不知道如何将不同editText的值保存在hasmap中。

嗯……您只显示一个
editText
。代码中的其他代码在哪里

无论如何,您可以说,“它根据用户选择的文件数量创建多个editText。”然后,当您创建每个
editText
时,将它们放入一个
数组中,然后您可以对它们进行迭代,以获得要放入
HashMap
editText txt\u iDesc=(editText)findViewById中的每个文本(R.id.txt_iDesc);
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();
//...
 }
for(HashMap映射:mylist) { //如果在代码中使用相同的编辑文本引用,则应创建多个编辑文本 字符串desc=txt_iDesc.getText().toString(); //... }
这只是我在适配器中使用的编辑文本。我在想是否需要执行循环或其他操作。@codeMagic你能给我举个例子吗?