2014-05-14 58 views
0

我创建了数组。一个是美国所有状态(Full Form),另一个是美国所有状态的简称。我已经展示了状态(Full form )在一个spinner.Now我要做的是显示状态的简短形式,根据用户在微调选择。我可以如何实现它。根据其他数组显示一个数组值

+1

发布您的代码你已经尝试了什么。 –

+0

获取微调选定项目的索引,并使用此索引从其他数组中获取值... –

+0

如何做到@Haresh请问你能解释一下吗? – anuj

回答

1

您应该使用映射,即在元素应映射的数组中。让我举一个例子。

String[] fullForm = { Alabama, California, Florida, Illinois}; 
    String[] shortForm = {AL, CA, FL, IL}; 

    ArrayAdapter<String> ad = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_dropdown_item,fullForm); 

spinner.setAdapter(ad); 

spinner.setOnItemSelectedListener(new OnItemSelectedListener() { 

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


       Toast.makeText(getApplicationContext(), " You selected " + fullForm[position] + "\n Short form is : " + shortForm[position], Toast.LENGTH_SHORT).show(); 
      } 

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

      } 
     }); 
1
// try this way,hope this will help you... 

**activity_main.xml** 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:gravity="center"> 

    <Spinner 
     android:id="@+id/spnState" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 
</LinearLayout> 

**MainActivity.java** 

public class MainActivity extends Activity { 

    Spinner spnState; 
    protected void onCreate(Bundle paramBundle) { 
     super.onCreate(paramBundle); 
     setContentView(R.layout.activity_main); 
     spnState = (Spinner) findViewById(R.id.spnState); 
     String[] stateFullNameArray = new String[]{"statefullname1","statefullname2","statefullname3","statefullname4","statefullname5"}; 
     final String[] stateShortNameArray = new String[]{"stateshortname1","stateshortname2","stateshortname3","stateshortname4","stateshortname5"}; 

     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,stateFullNameArray); 
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     spnState.setAdapter(adapter); 

     spnState.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
      @Override 
      public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
       Toast.makeText(MainActivity.this,stateShortNameArray[position],Toast.LENGTH_SHORT).show(); 
      } 

      @Override 
      public void onNothingSelected(AdapterView<?> parent) { 

      } 
     }); 
    } 


}