4

我想創建一個微調器,使用ArrayAdapter從資源xml填充值。使用xml資源創建ArrayAdapter並使用微調器檢索「id」或「value」字段

我也想給資源項目一些「id」或「value」。如何檢索onItemSelected()回調中的這些值?

這是Java代碼。

package com.waus.waus; 

import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemSelectedListener; 
import android.widget.ArrayAdapter; 
import android.widget.Spinner; 
import android.widget.Toast; 

public class Register extends Activity implements OnItemSelectedListener { 

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

     Spinner countrySpinner = (Spinner) findViewById(R.id.country_code_spinner); 
     ArrayAdapter<CharSequence> countryAdapter = ArrayAdapter.createFromResource(this, R.array.country_codes, android.R.layout.simple_spinner_item); 
     countryAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     countrySpinner.setOnItemSelectedListener(this); 
     countrySpinner.setAdapter(countryAdapter); 

    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

    @Override 
    public void onItemSelected(AdapterView<?> parent, View arg1, int pos, 
      long arg3) { 
     // TODO Auto-generated method stub 

     Toast.makeText(this, "THIS IS WHERE I WANT TO SHOW THE ID/VALUE" ,Toast.LENGTH_SHORT).show(); 

    } 

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

    } 

} 

這是我想使用的XML文件。

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <string-array name="country_codes"> 
     <item value="91">India</item> 
     <item value="1">United States</item> 
      // OR 
     <item id="1">United States</item> 

    </string-array>  
</resources> 

如何在不使用2個資源文件的情況下完成。即一個用於代碼而另一個用於名稱。

回答

8
String[] SortByField= activity.getResources().getStringArray(
       R.array.country_codes); 

Arrayadapter adapterFillClass = ArrayAdapter.createFromResource(activity, 
       R.array.country_codes, 
       android.R.layout.simple_spinner_dropdown_item); 
spinner.setadapter(adapterFillClass); 

我希望對你有用。

+0

我已經實現了這麼多。我想爲資源列表中的每個項目設置「value」屬性,然後在onItemSelected()方法中檢索它。 – geekoraul

相關問題