如何在微调器

时间:2016-05-04 10:39:53

标签: android android-spinner

  • 我不知道如何设置所选国家/地区的代码 spinner.Below我已经发布了迄今为止我尝试过的代码:

MainActivity.java:

public class MainActivity extends Activity implements OnItemSelectedListener {

 ArrayList<String> arrCode;
 ArrayList<String> arrCountry;

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_layout);

        arrCode = new ArrayList<>();
        arrCountry = new ArrayList<>();

        arrCountry.add("US");
        arrCountry.add("KZ");
        arrCountry.add("EG");
        arrCountry.add("ZA");
        arrCountry.add("GR");

        arrCode.add("1");
        arrCode.add("7");
        arrCode.add("20");
        arrCode.add("27");
        arrCode.add("30");

  ArrayAdapter<String> adapter_state = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, arrCountry);

        adapter_state.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        sp_mobile_code.setAdapter(adapter_state);
        sp_mobile_code.setOnItemSelectedListener(this);

    }

    public void onItemSelected(AdapterView<?> parent, View view, int position,
                               long id) {

       int spinnerValue1 = sp_mobile_code.getSelectedItemPosition();

        String data = arrCode.get(spinnerValue1);

        Log.e("data", "" + data);


        sp_mobile_code.setPrompt(data);

     /*  sp_mobile_code.setSelection(position);*/


    }

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

    }
  • 我的问题是:我无法在同一个微调器中设置isd代码。如果必须的话 在textview中设置isd代码意味着它很容易。但我必须设置它 在微调框中

编辑:微调器列表正确显示国家/地区列表。单击国家/地区列表,我必须显示isd代码

1 个答案:

答案 0 :(得分:1)

使用Custom ArrayAdapter。

private static class CustomSpinnerAdapter extends ArrayAdapter<String>
    {
         List<String> arrCodes;

        public CustomSpinnerAdapter(Context context, int resource, List<String> items, List<String> arrCodes) 
        {
            super(context, resource, items);
            this.arrCodes = new ArrayList<>();
            this.arrCodes = arrCodes;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent)
        {
            TextView view = (TextView) super.getView(position, convertView, parent);
            view.setText(arrCodes.get(position));
            return view;
        }
    }

检查getView()中的位置并设置您想要的文本。将此适配器用于Spinner