2012-03-31 17 views
0

Ein bisschen ein Problem mit meinem Spinner, ich bevölkere meine Spinner mit meiner Liste mit und Array und das funktioniert, aber wenn das ausgewählt ist, versuche ich meine Textansicht mit dem zugehörigen Wert zu füllen .... Könnte mir jemand vielleicht in die richtige Richtung ... ProstSpinner Array mit Spinner Array Werte

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 

     } 

    }); 

Hier ist meine Array und Array-Wert

<!-- 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

Haben Sie versucht, txttvPS.setText (parent.getSelectedItem() .toString()); – kosa

Antwort

0

statt String-Array in xml Verwendung String-Array in Ihrem Code wie unten greifen ..

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

Vielen Dank für Ihre Hilfe. Hat mich auf jeden Fall in die richtige Richtung gebracht und es hat funktioniert, ich habe meine Frage mit dem Arbeitscode aktualisiert, falls jemand es braucht. – Calvin

0

Verwenden

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

Dies wird den entsprechenden Array-Wert

+0

Dies ergreift immer noch nur den ausgewählten Dropdown-Wert, nicht den entsprechenden array_value. – Calvin

+0

Überprüfen Sie meine bearbeitete Antwort. Sie müssen Array nicht in Code verwenden. – Akhil

+0

Diese Antwort funktioniert mit Ihrem ursprünglichen Code und String-Arrays in xml – Akhil

Verwandte Themen