0

私はAndroidアプリを開発しています。そこからどのアイテムが選択されたかを見つけることができるスピナーがあります。選択したアイテムを数字に一致させ、それを別のアクティビティに渡して API リクエストを実行できるようにする必要があります。これを行う方法がわかりません。この問題の解決策を探しましたが、従うことができる非常に明確な指示が見つかりませんでした。を使用Map<String, String>してマッチング部分を実行できることがわかりましたが、その中から選択されたものの番号を取得するにはどうすればよいですか? 配列内で を検索するだけSelectedValueでよいでしょうか。それはどのように行われますか? startActivityforResult();番号を次の活動に移すことができることを知っています。http://google.com/numberのように、それを URLに追加する方法もわかりません。私のコードは以下の通りです:number

TestStation.java の一部

        Spinner2.setOnItemSelectedListener(new OnItemSelectedListener() {

        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {
            // TODO Auto-generated method stub

                String selectedValue = arg0.getItemAtPosition(arg2).toString();
                int[] Yellow_ID = getResources().getIntArray(R.array.Yellow_ID);
                int[] Yellow_Li = getResources().getIntArray(R.array.Yellow_Line);

                HashMap<Integer, Integer> myMap = new HashMap<Integer, Integer>();
                for (int i = 0; i < Yellow_Line.length(); i++) {
                    myMap.put(Yellow_Li[i], Yellow_ID[i]);
                }




        }

        @Override
        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub

        }
    });


}

ご協力ありがとうございました。

4

2 に答える 2

0

値が動的でない場合は、スピナーの項目を列挙型にすることができます。

mySpinner.setAdapter(new ArrayAdapter<Value>(this, android.R.layout.simple_spinner_item, Value.values()));

        Spinner2.setOnItemSelectedListener(new OnItemSelectedListener() {

    public void onItemSelected(AdapterView<?> arg0, View arg1,
            int arg2, long arg3) {
            Value selectedValue = arg0.getItemAtPosition(arg2);
            //Get whatever you want from it
    }

列挙型の例

public enum Value {
  BLAH("key1",1,"myToStringVal"), MORE_BLAH("key1",1,"myToStringVal");
  Value(String key, int value, String name) {
    this.key = key;
    this.value = value;
    this.name = name;
  }   

  public String getKey() {
    return key;
  }
  public int getValue() {
    return value;
  }
  public String toString() {
    return name;
  }
}
于 2013-10-02T20:32:27.323 に答える