《安卓上机实验05-模拟用户注册管理》由会员分享,可在线阅读,更多相关《安卓上机实验05-模拟用户注册管理(15页珍藏版)》请在金锄头文库上搜索。
1、青 岛 理 工 大 学课程实验报告课程名称嵌入式软件设计与开发班级软件132实验日期2015.05.13姓名孙玉东学号17实验成绩实验名称模拟用户注册管理程序实验目的及要求熟悉Android常用控件的综合使用方法:实现模拟用户注册管理功能实验环境Win7, Eclipse实验内容屏幕分为上下2部分:上面输入用户基本信息,下面列表列出输入的所有用户信息,每行显示一个用户的基本信息。(1) 上面输入用户信息,点击“增加”则将用户信息加入下面的列表中;(2) 点击列表中的一行,则选中该行,同时在上面显示该行对应的数据;(3) 先点击列表选中一行,然后点击“删除”,则删除该行信息,同时选中下一行;(4
2、) 先点击列表选中一行,然后修改上面的信息,再点击“修改”,则将修改后的信息更新到列表中;(5) 在上面的控件中输入要查询的姓名,然后点击“查询”,则在下面的列表中选中对应的行。参考界面如下图:调试过程及实验结果1.添加2.查询3.修改4. 删除总结1. 使用listView显示数据,填充数据类型为ArrayListHashMap,适配器类型选的BaseAdapter。2. 在删除某一行,让其选中下一行时,用listView.getChildAt(position).setBackgroundColor(Color.RED);得到下一行的view对象并设置背景颜色3. 用一个全局变量locat
3、ion记录当前选中行所在的位置。4. 在改变data中得值后要使用 adapter.notifyDataSetChanged();刷新一下数据。附录public class MainActivity extends FragmentActivity InjectView(R.id.ed_name) EditText edName; InjectView(R.id.rb_sex_boy) RadioButton rbSexBoy; InjectView(R.id.rb_sex_gril) RadioButton rbSexGril; InjectView(R.id.ed_age) EditTex
4、t edAge; InjectView(R.id.cb_read) CheckBox cbRead; InjectView(R.id.cb_walk) CheckBox cbWalk; InjectView(R.id.cb_movie) CheckBox cbMovie; InjectView(R.id.lv_content) ListView lvContent; InjectView(R.id.bt_add) Button btAdd; InjectView(R.id.bt_update) Button btUpdate; InjectView(R.id.bt_delete) Button
5、 btDelete; InjectView(R.id.bt_select) Button btSelect;private Myadapter myadapter; private int currentposition; Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.inject(this); initdata(); private void i
6、nitdata() peoples = new ArrayList(); myadapter=new Myadapter(); lvContent.setAdapter(myadapter); lvContent.setOnItemClickListener(new AdapterView.OnItemClickListener() Override public void onItemClick(AdapterView parent, View view, int position, long id) currentposition=position;myadapter.notifyData
7、SetChanged(); edName.setText(peoples.get(position).getName(); if(peoples.get(position).getSex().equals(男) rbSexBoy.setChecked(true); else rbSexGril.setChecked(true); edAge.setText(peoples.get(position).getAge(); String hobby= peoples.get(position).getHobby(); String hobbys=hobby.split(、); for (Strin
8、g c: hobbys) if(c.equals(读书) cbRead.setChecked(true); if(c.equals(散步) cbWalk.setChecked(true); if(c.equals(电影) cbMovie.setChecked(true); ); private class Myadapter extends BaseAdapter Override public int getCount() return peoples.size(); Override public Object getItem(int position) return peoples.ge
9、t(position); Override public long getItemId(int position) return position; Override public View getView(int position, View convertView, ViewGroup parent) ViewHolder holder=null; if (convertView = null) holder=new ViewHolder(); convertView= View.inflate(MainActivity.this, R.layout.people_item, null);
10、 holder.peopleTvName= (TextView) convertView.findViewById(R.id.people_tv_name); holder.peopleTvAge= (TextView) convertView.findViewById(R.id.people_tv_age); holder.peopleTvHaobby= (TextView) convertView.findViewById(R.id.people_tv_haobby); holder.peopleTvSex= (TextView) convertView.findViewById(R.id
11、.people_tv_sex); holder.llbackground= (LinearLayout) convertView.findViewById(R.id.ll_background); convertView.setTag(holder); else holder= (ViewHolder) convertView.getTag(); if(position=currentposition) /Toast.makeText(MainActivity.this,+currentposition,Toast.LENGTH_SHORT); System.out.println(currentposition+当前+position); holder.llbackground.setBackgroundColor(Color.GRAY); else holder.llbackground.setBackgroundColor(Color.WHITE); holder.peopleTvName.setText(peoples.get(position).getName(); holder.peopleTvSex.setText(peoples.get(position).getSex(); h