Android级联菜单的实现方法
16lz
2022-04-21
packagemldn.lxd.OnItemSlectListerner;
importandroid.R.anim;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.widget.AdapterView;
importandroid.widget.AdapterView.OnItemSelectedListener;
importandroid.widget.ArrayAdapter;
importandroid.widget.Spinner;
importandroid.widget.SpinnerAdapter;
publicclassOnItemSelectListernerActivityextendsActivity{
privateSpinnerspinnerTopProvince= null;
privateSpinnerspinnerSubCitys= null;
private String[][]citys={{ "朝阳", "阳台", "紫金", "海淀"},
{ "抚顺", "大连" ,"青岛","烟台"},
{"济南","菏泽","威海","单县"},
{"开封","安阳","洛阳","南阳"}};
privateArrayAdapter<CharSequence>arrayAdapter=null;
/**Calledwhentheactivityisfirstcreated.*/
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
spinnerTopProvince=(Spinner)super.findViewById(R.id.idTopSpinner);
spinnerSubCitys=(Spinner)super.findViewById(R.id.idSubSpinner);
spinnerTopProvince.setOnItemSelectedListener(newmyItemSelectedLisener());
}
privatefinalclassmyItemSelectedLisenerimplementsOnItemSelectedListener
{
@Override
publicvoidonItemSelected(AdapterView<?>parent,Viewview,intposition,longid)
{
OnItemSelectListernerActivity.this.arrayAdapter=
newArrayAdapter<CharSequence>(OnItemSelectListernerActivity.this,
android.R.layout.simple_spinner_item,OnItemSelectListernerActivity.this.citys[position]);
spinnerSubCitys.setAdapter(arrayAdapter);
}
@Override
publicvoidonNothingSelected(AdapterView<?>arg0)
{
//TODOAuto-generatedmethodstub
}
}
} <?xmlversion= "1.0"encoding= "utf-8"?>
<LinearLayoutxmlns:android= "http://schemas.android.com/apk/res/android"
android:layout_width= "fill_parent"
android:layout_height= "fill_parent"
android:orientation= "vertical">
<TextView
android:layout_width= "fill_parent"
android:layout_height= "wrap_content"
android:text= "@string/hello" />
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">
<Spinner
android:entries="@array/LoveProvice"
android:id="@+id/idTopSpinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<Spinner
android:id="@+id/idSubSpinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
</LinearLayout>
importandroid.R.anim;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.widget.AdapterView;
importandroid.widget.AdapterView.OnItemSelectedListener;
importandroid.widget.ArrayAdapter;
importandroid.widget.Spinner;
importandroid.widget.SpinnerAdapter;
publicclassOnItemSelectListernerActivityextendsActivity{
privateSpinnerspinnerTopProvince= null;
privateSpinnerspinnerSubCitys= null;
private String[][]citys={{ "朝阳", "阳台", "紫金", "海淀"},
{ "抚顺", "大连" ,"青岛","烟台"},
{"济南","菏泽","威海","单县"},
{"开封","安阳","洛阳","南阳"}};
privateArrayAdapter<CharSequence>arrayAdapter=null;
/**Calledwhentheactivityisfirstcreated.*/
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
spinnerTopProvince=(Spinner)super.findViewById(R.id.idTopSpinner);
spinnerSubCitys=(Spinner)super.findViewById(R.id.idSubSpinner);
spinnerTopProvince.setOnItemSelectedListener(newmyItemSelectedLisener());
}
privatefinalclassmyItemSelectedLisenerimplementsOnItemSelectedListener
{
@Override
publicvoidonItemSelected(AdapterView<?>parent,Viewview,intposition,longid)
{
OnItemSelectListernerActivity.this.arrayAdapter=
newArrayAdapter<CharSequence>(OnItemSelectListernerActivity.this,
android.R.layout.simple_spinner_item,OnItemSelectListernerActivity.this.citys[position]);
spinnerSubCitys.setAdapter(arrayAdapter);
}
@Override
publicvoidonNothingSelected(AdapterView<?>arg0)
{
//TODOAuto-generatedmethodstub
}
}
} <?xmlversion= "1.0"encoding= "utf-8"?>
<LinearLayoutxmlns:android= "http://schemas.android.com/apk/res/android"
android:layout_width= "fill_parent"
android:layout_height= "fill_parent"
android:orientation= "vertical">
<TextView
android:layout_width= "fill_parent"
android:layout_height= "wrap_content"
android:text= "@string/hello" />
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">
<Spinner
android:entries="@array/LoveProvice"
android:id="@+id/idTopSpinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<Spinner
android:id="@+id/idSubSpinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
</LinearLayout>