2012-03-31 61 views
0

我的微調控制器有一點問題,我用我的列表填充我的列表與數組,並且工作,但是當選擇了我試圖填充我的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> 
+0

你嘗試txttvPS.setText(parent.getSelectedItem()的ToString()); – kosa 2012-03-31 16:43:24

回答

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 2012-03-31 19:13:35

0

使用

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

這會搶了相應的數組值

+0

這仍然只抓取選定的下拉列表,而不是相應的array_value。 – Calvin 2012-03-31 17:26:12

+0

檢查我編輯的答案。你不需要在代碼中使用數組。 – Akhil 2012-03-31 19:16:40

+0

此答案適用於您的原始代碼和字符串數組xml – Akhil 2012-03-31 19:17:28