0

我想在“onitemselected”中为 Spinner 添加一个参数。目标是拥有一个独特的功能,而不是使用具有相似信息的 3 或 4 个不同的功能。

这是我使用 'SelectedSpinnerSize' 的代码:

public void selectedSpinnerSize(int spinLayout){
  final Spinner spin = (Spinner)findViewById(spinLayout);

  spin.setOnItemSelectedListener(new OnItemSelectedListener()
  {
     public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3)
     {
        @SuppressWarnings("unchecked")
        HashMap<String, String> map = (HashMap<String, String>) arg0.getItemAtPosition(arg2);
        selectedSize = map.get("Size").toString();
     }

     public void onNothingSelected(AdapterView<?> arg0){}

  });
}

而且我的代码与“selectedSpinnerWeight”、“selectedSpinnerLanguage”等完全相同。目标是拥有一个唯一的“SelectedSpinnerInfo”并返回信息(“selectedInfo”而不是“selectedSize”)。但由于它处于“公共空白……”中,我无法恢复此值。那么,解决方案是什么?

更清楚地说,我想要这样的东西:

  public String selectedSpinnerInfo(int spinLayout)
  {
  final Spinner spin = (Spinner)findViewById(spinLayout);

  spin.setOnItemSelectedListener(new OnItemSelectedListener()
  {
  String selectedInfo;

     public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3)
     {
        @SuppressWarnings("unchecked")
        HashMap<String, String> map = (HashMap<String, String>) arg0.getItemAtPosition(arg2);
        selectedInfo = map.get("Size").toString();
     }

     public void onNothingSelected(AdapterView<?> arg0){}

  });

  return selectedInfo;

}

4

1 回答 1

0

您可以在您的活动或片段中创建一个“SelectedSpinnerInfo”成员变量并分配给它。或者,如果您需要多个,您可以拥有一个由微调器 ID 键入的映射成员变量。

于 2014-03-10T13:48:41.663 回答