【问题标题】:Android - Get single String value using HashMapAndroid - 使用 HashMap 获取单个字符串值
【发布时间】:2014-06-03 10:59:15
【问题描述】:

在我的应用程序中,我使用ArrayList 预加载了 Spinner。ArrayList 包含多个 Text String。这些文本字符串将作为消息template 用户可以从微调器中选择。另外我希望在发送消息时这些字符串关键字可能会被变量替换。比如“Text”将替换为EditText内容,“Phone No”替换为Sender's no,“Date”替换为Message Date

我尝试在 Android 中搜索 HashMap,但遇到问题:

HashMap<String, String> template=new HashMap<String, String>();
 template.put("Text", editText.getText().toString());
 template.put("Phone No",senderPhone);
 template.put("Date",receivedDate);

现在我想将其显示为单个字符串,例如文本、电话号码、日期。这个字符串可以编辑吗?

【问题讨论】:

  • 字符串 x=(String)template.get("Text");是获取HashMap值的方法..请解释清楚你想问什么..

标签: android hashmap


【解决方案1】:

你可以使用

StringBuilder builder = new StringBuilder();

for (String name : template.values())
{
    builder.append(name + " ");
}

String templateString = builder.toString();

这将使用values()HashMap 中获取所有值并将其连接到String

【讨论】:

    【解决方案2】:

    要从 Hashmap 中获取值,请使用:

    String Text   = (String)template.get("Text");
    String phoneNo= (String)template.get("PhoneNo");
    String date   = (String)template.get("Date");
    

    您可以将以上 3 项结合起来,并将其显示在您想要的任何位置 例如,

    String displayString = Text + "-" + phoneNo + " -" + date
    editText.setText(displayString);
    

    默认情况下,此编辑文本是可编辑的,除非您将其设为不可编辑!

    编辑:(参考 cmets 进行编辑)

    (1) 将编辑文本值设置为用户从微调器中选择的值。

    editText.setText(displayString);
    

    (2) 用户选择并修改edittext后,让用户点击确认按钮。

    (3) 在确认按钮代码中,将值添加到本地存储中(IF REQUIRED!)。

    (4) 刷新微调器以包含此修改后的值

    要刷新,如果要修改微调器中的现有列表,请参考Refresh spinner data

    要刷新,如果您想保留现有的微调器列表并添加新值,请参考dynamic add data to spinner but not update the data on the spinner

    【讨论】:

    • 这段代码我需要在我的哈希映射代码之后编写,而且我的 displayString 需要是可编辑的
    • displayString 将设置为 EditText 框。 EditText 默认是可编辑的。用户可以随时编辑文本框中的值。
    • 用户可以修改 displayString,如:PhoneNo 修改为在 Text 之前发生,修改后的 displayString 也可以在 Spinner 中更新,就像我们在数据库中编辑/修改 String 一样
    • 是的,当然,改变 displayString = phoneNo + "-" + Text + "-" + date;
    • 一旦用户更新值,将值设置为模板作为 template.put("Text", editText.getText().toString());我假设,您只会获取此值并将其显示在微调器中。
    猜你喜欢
    • 2014-03-22
    • 1970-01-01
    • 1970-01-01
    • 2010-12-19
    • 1970-01-01
    • 2018-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多