暑期实验4__Intent、Bundle的使用以及ListView的应用

实验目的

1.了解Android编程基础。

2.掌握Button事件处理。

3.了解IntentBundle的机制并且使用IntentBundle实现页面跳转。

4.了解一个Activity的生命周期。

 

实验题目

用listview来实现下面的小组成员列表,男生女生头像不同,点击男生头像,则列表全部变为男生信息,女生也相同。且点击item,项目跳转到文字信息,显示其对应信息。

实验要求

1.通过Intent实现Activity之间的跳转;

2.通过BundleActivity之间传递参数;

3.使用Adapter适配器来进行基本的ListView设计;

4.完成【课堂练习】;

5.完成【课后作业】并提交实验报告。

 

实验分析

刚开始学习android,写代码速度比较慢。

写布局的时候还比较熟练,没有参考太多题目给的布局,自己手写的,文字大小有参考一部分。

这次实验遇到的主要问题

1.     listItemimageButton共存的时候需要用到descendantFocusability这个属性,具体已在csdn总结。

2.    界面跳转那部分,忘记给新的activity注册,导致运行很多次都出错,最后看了logcat才知道问题,比较傻的一个错误。

3.    然后就是对每个itemimageButton监听,方法应该是对每个viewbtn进行监听设置,如果一开始就来 ImageButton imagebtn = ~findViewByIdR.id.icon.因为每个itemid都一样,会导致运行出错。应该重写getview方法,对每个view设置监听,方法如下:

 

//重写adapter的getView
//关键代码
SimpleAdapter itemAdapter = new SimpleAdapter(this,
		mDataList,
		R.layout.list_item,
		new String[]{"name","class","sexs"},
		new int[]{R.id.item_name,R.id.item_class,R.id.icon}){
		///**重写适配器的getview,以获得position设置imagebutton的监听
		@Override
		public View getView(int position,View convertView,ViewGroup parent){
			View view = super.getView(position, convertView, parent);
			final int pos = position;
			//下面这行找到特定item的imagebtn 的 id,只能这么写
			view.findViewById(R.id.icon).setOnClickListener(new OnClickListener(){

			@Override
			public void onClick(View v) {
			// TODO Auto-generated method stub
			int src = Integer.parseInt(mDataList.get(pos).get("sexs").toString());
			mDataList.clear();
			if(src == f){
				mDataList.addAll(fList);
			}else{
				mDataList.addAll(mList);
			}
			notifyDataSetChanged();//这个是simpleAdapter的方法
			}
					
			});
			return view;	
		}
	};


 

实验结果

 暑期实验4__Intent、Bundle的使用以及ListView的应用_第1张图片 暑期实验4__Intent、Bundle的使用以及ListView的应用_第2张图片 暑期实验4__Intent、Bundle的使用以及ListView的应用_第3张图片

 

实验心得

开始学习android,简单的代码都需要重复去敲。其实遇到的小问题还是有很多的,但是需要培养自己独立去思考问题,不要一不懂就问,多去上网找答案。实在不会再问人。

 

对于simpleAdapter的适配器使用,自己要多去写,提体会其中的使用。

你可能感兴趣的:(Android)