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

时间:2013-07-16 04:53:03

标签: android hashmap android-edittext

我在列表视图中填充了HashMap。此hashmap包含必须由用户填写的EditText。我的问题是我不知道在EditText内得到HashMap的值。

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

mylist = new ArrayList<HashMap<String, String>>();
for (int i = 0; i < listSelectedFileNames.size(); i++) 
{
  HashMap<String, String> map = new HashMap<String, String>();
  map.put(FILE_NAME, selectedFileNames[i]);
  map.put(DESC, "");
  map.put(UPLOADED_BY, "User");
  map.put(DATE_UPLOADED, myDate);
  map.put(ACTION, "Delete");
  map.put(ID, String.valueOf(i));
  map.put(FILE_URI, selectedFileUri[i]);
  mylist.add(map);
}

HashMap中的DESC拥有txt_iDesc。当用户在editText上输入内容然后保存它时,我怎么可能得到EditText的值。提前致谢。下面是我在数据库中保存数据的代码,它只获取第一个editText的值。

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

for(HashMap<String, String> map : mylist)
{
     ContentValues cv = new ContentValues();
     cv.put(Constants.ATTACH_REPORTCODE, ReportCode);
     cv.put(Constants.ATTACH_FILENAME, map.get(FILE_NAME));
     cv.put(Constants.ATTACH_DESCRIPTION, txt_iDesc.getText().toString());
     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();

2 个答案:

答案 0 :(得分:1)

使用

txt_iDesc.getText().toString();

如果要在填充editText后填充hashmap,

txt_iDesc.setOnTextChangedListener(this);

在您的活动中实施onTextChangedListener,在afterTextChanged方法中,您可能会填充数据。

答案 1 :(得分:0)

 HashMap<String, String> map = new HashMap<String, String>();
  map.put(FILE_NAME, selectedFileNames[i]);
  map.put(DESC, txt_iDesc.getText().toString.trim());
  map.put(UPLOADED_BY, "User");
  map.put(DATE_UPLOADED, myDate);
  map.put(ACTION, "Delete");
  map.put(ID, String.valueOf(i));
  map.put(FILE_URI, selectedFileUri[i]);
  mylist.add(map);

txt_iDesc.getText().toString.trim();

将此行添加到hashmap值