【问题标题】:Storing and retrieving values from hashmap [closed]从哈希图中存储和检索值[关闭]
【发布时间】:2014-03-17 09:29:25
【问题描述】:

我是 Android 开发的初学者......你能告诉我这是否是声明 hashmap 并将其添加到 arraylist 的正确方法吗?

Button createagendaButton = (Button) dialog.findViewById(R.id.button2);
createagendaButton.setOnClickListener(new OnClickListener() 
{
@Override
public void onClick(View v) 
{
ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
HashMap<String, String> map = new HashMap<String, String>();
map.put("agendaTitle", edit_agendaTitle.getText().toString());
map.put("presenterName", edit_presenterName.getText().toString()); 
mylist.add(map);
}
});

【问题讨论】:

  • 您有什么需求?
  • 我的应用中有 3 个编辑文本,它们的值需要放入 hashmap 中
  • 好吧,恐怕你不需要哈希图,直接使用 db 存储或 sharedprefrences 进行临时存储
  • @SrinathGanesh 我不需要将这些值存储在数据库中或共享首选项中......我希望将这些值放入哈希图中并将其存储在数据库中......是否可能??怎么样??
  • 如何在logcat中显示hashmap值??

标签: android sqlite hashmap


【解决方案1】:

看来你是安卓新手
对于初学者,为什么不通过 android sdk 中的示例

sdk-path/samples/api-version/

还有这个link

为了让你振作起来,试试这些可以解决你的问题
1.从edittext中获取值edittext.getText();
2.将值存储在hashmap中为hashmap.put(key,value)
3. 不要使用哈希图,而是重新考虑您存储的数据类型,如果它适合您的需要,请尝试 SparseArray。稀疏数组经过了很好的优化并且性能很好,尽管它们在比较中非常不同
4. sqlite 只能存储某些类型的数据。对于 android 上的 sqlite,请尝试 this
5. 为确保您的应用在不同设备和分辨率下正常运行,请参考应用中使用的不同组件的最佳实践和生命周期。另外,由于您使用的是 sqlite,因此更喜欢 单例模式

【讨论】:

  • 感谢您提供宝贵的信息。
【解决方案2】:

以下代码将允许您使用键 => 值约定将值存储到哈希图中。

Map mMap = new HashMap();
mMap.put("FirstName", firstNameInput.getText().toString());
mMap.put("Surname", surnameInput.getText().toString());
mMap.put("Gender", genderInput.getText().toString());

注意,您需要将 .getText() 之前的变量名更改为您的 EditText 变量名

http://developer.android.com/reference/java/util/HashMap.html 可能有点用处!

【讨论】:

  • 没问题,祝你好运!
  • @JayanthGowda 保留您的泛型(带有 > 的集合)
  • 是的,@Srinath Ganesh 是对的。您可能应该使用泛型初始化 mMap - 例如Map&lt;String, String&gt; myMap = new HashMap&lt;String, String&gt;();
  • 谢谢@SrinathGanesh
猜你喜欢
  • 2017-06-10
  • 1970-01-01
  • 2013-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多