2012-03-31 3 views
0

Имея немного проблемы с моим счетчиком, я заполняю свой счетчик моим списком и массивом, и это работает, но когда это выбрано, я пытаюсь заполнить свой текстовый комментарий соответствующим значением .... Может кто-то, возможно, мне точку в правильном направлении ... ПриветствияМассив Spinner со значениями массива spinner

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> 
+0

Пробовали ли вы txttvPS.setText (parent.getSelectedItem() .нанизывать()); – kosa

ответ

0

Вместо массива строк в использовании XML-массив строк в коде, как показано ниже ..

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 
       } 
      }); 
+0

Спасибо всем за вашу помощь. Определенно забрал меня в правильном направлении и заставил его работать, я обновил свой вопрос с рабочим кодом на тот случай, если кому-то понадобится. – Calvin

0

Использование

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

Это будет захватить соответствующий массив значение

+0

Это все еще просто захватывает выбранный снимок, а не соответствующий массив_значение. – Calvin

+0

проверить измененный ответ. вам не нужно использовать массив в коде. – Akhil

+0

этот ответ работает с вашим исходным кодом и строковыми массивами в xml – Akhil

Смежные вопросы