0

サーバーからデータを取得するスピナーがあり、「都市の設定」のような最初の選択値を設定したいと考えています。私はこのようにスピナーを埋めます:

s_city = (Spinner) findViewById(R.id.s_city);
        ArrayAdapter<String> cityAdapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, Data.cities);
        cityAdapter
                .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        s_city.setAdapter(cityAdapter);

最初のセレクションset cityData.cities

4

3 に答える 3

0

リストの先頭に「Set City」という項目を追加してから、次の操作を行います。

SpinnerAdapter adapter = new ArrayAdapter<String>(getActivity(),
            R.layout.list_item, list) {
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View v = super.getView(position, convertView, parent);
            if (position == 0) {
                ((TextView) v.findViewById(android.R.id.text1)).setText("");
                ((TextView) v.findViewById(android.R.id.text1)).setHint("Set City");
            }
            return v;
        }
    };

また、onItemSelected を処理するときに位置 0 を特別に処理することを忘れないでください。

于 2013-04-08T23:00:49.883 に答える
0

最初のスピナー要素として「Set City」を追加するだけです。ArrayAdapter http://developer.android.com/reference/android/widget/ArrayAdapter.html#insert(T , int) には挿入メソッドがあります。「Set City」を最初の要素として追加できます。

于 2013-02-03T18:18:18.713 に答える