Spinner 级联2

来源:互联网 发布:java super.m = 10 编辑:程序博客网 时间:2024/05/20 05:25

区别于上一篇文章,在代码中除了定义,不出现定义的数组的内容。可以修改数组内的内容,使得可以适用于各种情况。

package maureen.cascade;import android.os.Bundle;import android.R.anim;import android.R.integer;import android.app.Activity;import android.app.AlertDialog;import android.app.AlertDialog.Builder;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.AdapterView;import android.widget.AdapterView.OnItemSelectedListener;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.EditText;import android.widget.Spinner;public class MainActivity extends Activity implements OnClickListener {private EditText user;private Spinner province;private Spinner district;private String[] provincelist=new String[]{"重庆","湖北"};;private String[][] districtlist={{"江北","九龙坡"},{"武汉","咸阳"}};//用二维数组保存数据private Button OkButton;private ArrayAdapter<String> proadapter;protected ArrayAdapter<String> disadapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);InitView();//视图初始化InitListener();//监听器初始化}private void  InitView(){user=(EditText)findViewById(R.id.edittext);province =(Spinner)findViewById(R.id.provincespinner);district=(Spinner)findViewById(R.id.districtspinner);OkButton=(Button)findViewById(R.id.okbutton);proadapter=new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,provincelist);province.setAdapter(proadapter);}private void InitListener(){province.setOnItemSelectedListener(new OnItemSelectedListener() {@Overridepublic void onItemSelected(AdapterView<?> arg0, View arg1,int position, long arg3) {            disadapter =new ArrayAdapter<String>  (MainActivity.this,    android.R.layout.simple_dropdown_item_1line,   districtlist[position]);            district.setAdapter(disadapter);}@Overridepublic void onNothingSelected(AdapterView<?> arg0) {// TODO Auto-generated method stub}});OkButton.setOnClickListener(this);}@Overridepublic 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;}    private void Submit(){StringBuilder  str= new StringBuilder();str.append("用户名:").append(user.getText().toString());//“追加”函数
int i=province.getSelectedItemPosition();int j=district.getSelectedItemPosition();str.append("\n省份:").append(provincelist[i]);str.append("\n市/区:").append(districtlist[i][j]);//二维数组的赋值方式要注意String result =str.toString();AlertDialog.Builder builder=new Builder(this);builder.setMessage(result);builder.setNegativeButton("确定", null);AlertDialog dialog = builder.create();dialog.setCanceledOnTouchOutside(false);dialog.show();}@Overridepublic void onClick(View v) {// TODO Auto-generated method stubint id=v.getId();switch (id) {case R.id.okbutton:Submit();break;default:break;}}}


 

0 0
原创粉丝点击