2014-05-14 2 views
0

배열을 만들었습니다. 하나는 미국의 모든 상태 (전체 형식)이고 다른 하나는 USA의 모든 짧은 형식입니다. 전체 상태). 회 전자에서 사용자가 선택하는 짧은 형식으로 상태를 표시해야합니다. 어떻게 할 수 있습니까?다른 배열에 따라 하나의 배열 값을 표시합니다.

+1

후 당신이 노력 무슨 코드. –

+0

스피너의 선택된 항목의 인덱스를 가져 와서 다른 배열에서 값을 얻기 위해이 인덱스를 사용하십시오 ... –

+0

어떻게해야합니까? @Haresh pls는 그것을 설명 할 수 있습니까 ?? – 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) { 

      } 
     }); 
    } 


} 
관련 문제