2013-07-16 23 views
0

我有一个HashMap在列表视图中填充。该散列表包含必须由用户填写的EditText。我的问题是我不知道HashMap内的EditText的价值。如何获得编辑文本的哈希值android

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); 
} 

的DESC我HashMap持有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(); 

回答

1

使用

txt_iDesc.getText().toString(); 

如果你想填HashMap中被填充的EDITTEXT后,

txt_iDesc.setOnTextChangedListener(this); 

实现您的活动,并在afterTextChanged方法onTextChangedListener,你可能填写数据。

+0

什么,我试图做的是保存由EDITTEXT用户的数据输入。起初hashmap有空的editText供用户填充。当点击保存按钮时,我想获取hasmap中所有editText的值。 – lolliloop

+0

然后在保存按钮的'onClick'中填入hashMap中的值。您可以像我在第一行中提到的那样获取每个TextView中输入的值。 –

+0

我做到了,但它崩溃了 – lolliloop

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();

添加此行hasmap值

+0

应用程序崩溃。即使我已经输入了一些东西 – lolliloop

+0

它也只能得到hasmap中第一个editText的值。 – lolliloop