具有微调器数组值的微调器数组

时间:2012-03-31 16:30:09

标签: java android

我的微调器出现了一些问题,我用我的列表和数组填充我的微调器,并且可以工作,但是当选择它时,我试图用相关的值填充我的textview ....可能有人或许指出我正确的方向...... 干杯

Spinner spinner1 = (Spinner) findViewById(R.id.spinner2);    
    ArrayAdapter<CharSequence> adapter1 = ArrayAdapter.createFromResource(            
            this, R.array.post_array, android.R.layout.simple_spinner_item); 
    adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner1.setAdapter(adapter1);

    final String post_array_values [] =  getResources().getStringArray(R.array.post_array_values);
    /** */
    spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

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

            txttvPS.setText(post_array_values[(int) id]);   
        }

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

        }

    });

这是我的数组和数组值

<!-- String Array for Post Spinner -->
<string name="post_picker"></string>
<!-- Add Name if wanted between picker and before string close -->
<string-array name="post_array">
    <item>-- Select Prov --</item>
    <item>BC</item>
    <item>Alberta</item>
    <item>Manitoba</item>
    <item>Ontario</item>
    <item>Quebec</item>

</string-array>
<string-array name="post_array_values">
    <item>0</item><!-- Prov -->
    <item>2.25</item><!-- BC -->
    <item>12.25</item><!-- Alberta -->
    <item>30.25</item><!-- Manitoba -->
    <item>56.25</item><!-- Ontario -->
    <item>90.25</item><!-- Quebec -->
</string-array>

2 个答案:

答案 0 :(得分:0)

使用

   txttvPS.setText(getResources().getStringArray(R.array.post_array_values)[pos]);

这将获取相应的数组值

答案 1 :(得分:0)

代替xml中的字符串数组,在代码中使用String数组,如下所示。

String[] data = new String[] {"Default","Cambodian","Chinese","Korean","English","Spanish","Vietnamese"};
    TextView txttvPS=(TextView) findViewById(R.id.tvPS);

            Spinner spinner1 = (Spinner) findViewById(R.id.spinner2);
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_spinner_item, data);
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            spinner1 .setAdapter(adapter);
            spinner1 .setOnItemSelectedListener(new OnItemSelectedListener() {
                public void onItemSelected(AdapterView<?> arg0, View arg1,  int pos, long arg3) {
                    // TODO Auto-generated method stub  
                    txttvPS.setText(spinner1.getItemAtPosition(pos));
                }
                public void onNothingSelected(AdapterView<?> arg0) {
                    // TODO Auto-generated method stub
                }
            });