相信大家平时开发的时候都遇到过一些小问题,找了很多资料还是解决不了,大神们也没遇到过,下拉菜单,对话框这些项目都比较常见的,今天我们来看看spinner的用法,很简单的一个控件,我平时习惯调用spinner的ArrayAdapter,把你的菜单中的选项都放在String类型的集合里,在绑定到ArrayAdapter里,spinner的监听事件OnItemSelecedListener
判断选项调用方法getSelecedItem和String集合里的字符串比较,大致思路就是这些,下面直接上代码:
private String [] list1 = {"换人计划","换人名单","面试名单"}; private String [] list2 = {"全部","香港PB","万邦MSI","香港华林"}; private String [] list3 = {"全部","Albany Sound","Puget Sound","Tasman Sound"}; private ArrayAdapter<String> arrayAdapter1; private ArrayAdapter<String> arrayAdapter2; private ArrayAdapter<String> arrayAdapter3;
arrayAdapter1 = new ArrayAdapter<String>(this, R.layout.spinner_checked_text, list1); change_list.setAdapter(arrayAdapter1); arrayAdapter2 = new ArrayAdapter<String>(this, R.layout.spinner_checked_text, list2); flotilla.setAdapter(arrayAdapter2); arrayAdapter3 = new ArrayAdapter<String>(this, R.layout.spinner_checked_text, list3); ships_name.setAdapter(arrayAdapter3); changePlanAdapter = new ChangePlanAdapter(this, ship_name, date, place, names); changeListAdapter = new ChangeListAdapter(this, post, change_plan, downship_person, upship_person); interViewListAdapter = new InterViewListAdapter(this, post_name, mode, choice_of_persons, time_of_appointment); change_list.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { if (change_list.getSelectedItem().toString().equals("换人计划")) { listView.setAdapter(changePlanAdapter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Intent intent = new Intent(ChangeManagementActivity.this, SubstitutionPlanActivity.class); startActivity(intent); } }); } else if (change_list.getSelectedItem().toString().equals("换人名单")) { interview_list_layout.setVisibility(View.GONE); change_list_layout.setVisibility(View.VISIBLE); listView.setAdapter(changeListAdapter); } else if (change_list.getSelectedItem().toString().equals("面试名单")) { change_list_layout.setVisibility(View.GONE); interview_list_layout.setVisibility(View.VISIBLE); listView.setAdapter(interViewListAdapter); } } @Override public void onNothingSelected(AdapterView<?> parent) { } });