【问题标题】:How to trim Spinner selection when selected?选择时如何修剪微调器选择?
【发布时间】:2018-07-10 12:53:20
【问题描述】:

我想修剪用户在 Spinner 中的选择。当用户选择他的国家(例如“+232 塞拉利昂”)时,当项目被选中并且微调器关闭时仅显示“+232”。

提前感谢您的建议。

// I have two arrays of String that i join to make one

String[] phoneCodes ={"232", "44", "1"};
String[] countries = {"Sierra Leone", "United Kingdom", "United States"};
String[] phoneCodesCountries = new String[3];


// Here i join those two arrays, for example "+232    Sierra Leone"
for (int i = 0; i < phoneCodes.length; i++) {
    phoneCodesCountries[i] = "+" + phoneCodes[i] + "       " + countries[i];
}

// Setting the adapter to phoneCodesArray

ArrayAdapter<String> phoneCodesArray = new ArrayAdapter<String>(RegisterActivity.this, android.R.layout.simple_spinner_item, phoneCodesCountries);
phoneCodesArray.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spPhoneCodes.setAdapter(phoneCodesArray);

【问题讨论】:

  • 您找到解决方案了吗?

标签: android spinner onitemselectedlistener


【解决方案1】:

您可以通过

获得微调器选择
mySpinner.getSelectedItem().toString();

因此,在您的示例中,该值将是 +232 Sierra Leone。现在您可以像这样拆分整个字符串来获取国家/地区代码:

String[] split = mySpinner.getSelectedItem().toString().split("\\+");

现在 split[0] 将得到您想要的结果 +232。

【讨论】:

  • 感谢 Rino,获得选择和拆分对我来说非常清楚。我正在搜索的是当您单击项目“+232 Sierra Leone”以显示在关闭的 Spinner“+232”而不是“+232 Sierra Leone”中时。我想它应该在onItemSelected
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多