暑期实验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;	
		}
	};


 

实验结果

 123 123 123

 

实验心得

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

 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值