关于ListView中,修改Adapter的layout中元素的问题
来源:互联网 发布:windows 虚拟打印机 编辑:程序博客网 时间:2024/05/01 08:40
通常在数据较多或者变化的时候,我们需要一个Adapter来显示对应的ListView,Adapter通常extends BaseAdapter
初始化list和Adapter后, listXXX.setAdapter 就可以了
localListView = (ListView) this.findViewById(R.id.local_list_lv);mLocalListAdapter = new LocalListAdapter(this, mBookBeanlist);localListView.setAdapter(mLocalListAdapter);
在Adapter中,
setView中做每个显示的item的操作
由于代码较长,所以,最好写一个内部类来 作为数据组织者,当成一个整体来完成。做对应的监听和处理
private class ViewHolder{private RelativeLayout itemLayout;private ImageView iconImg;private ImageView deleteImg;private TextView bookNameTxt;private TextView bookNameAliasTxt;private TextView bookContentTxt;private final int position;public ViewHolder(View convertView,int position) {itemLayout = (RelativeLayout) convertView.findViewById(R.id.local_list_item_layout);iconImg = (ImageView) convertView.findViewById(R.id.local_list_item_icon_img);bookNameTxt = (TextView) convertView.findViewById(R.id.local_list_item_book_name_txt);bookNameAliasTxt = (TextView) convertView.findViewById(R.id.local_list_item_book_name_alias_txt);bookContentTxt = (TextView) convertView.findViewById(R.id.local_list_item_book_content_txt);deleteImg = (ImageView) convertView.findViewById(R.id.local_list_item_delete_img);this.position = position;}public void setData(BookBean mBookBean){bookNameTxt.setText(mBookBean.getBookName());bookNameAliasTxt.setText(mBookBean.getBookNameAlias());bookContentTxt.setText(mBookBean.getBookContent());//System.out.println(mBookBean.getFirstImg());//Utils.downLoadListImage(iconImg ,mBookBean.getFirstImg());//异步下载列表图片setItemOnListener(mBookBean);setDeleteListener(mBookBean);}private void setDeleteListener(BookBean mBookBean) {// TODO Auto-generated method stubdeleteImg.setOnClickListener(new OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubnew AlertDialog.Builder(context).setMessage("是否删除").setPositiveButton("删除", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubmList.remove(position);notifyDataSetChanged();}}).create().show();}});}private void setItemOnListener(final BookBean mBookBean) {itemLayout.setOnClickListener(new OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubnew AlertDialog.Builder(context).setMessage("跳转").create().show();}});}}
再在Adapter的getView中组织下就可以了
@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stubconvertView = mlayoutInflater.inflate(R.layout.local_list_item, null);mViewHolder = new ViewHolder(convertView,position);convertView.setTag(mViewHolder);mViewHolder.setData(mList.get(position));return convertView;}
【问题】 现在想在Activity的一个Button中设置 ListView中某个控件的 Visibility , 该怎么弄呢?
- 关于ListView中,修改Adapter的layout中元素的问题
- 关于android开发ListView的Adapter的convertView中有EditText的问题
- ListView中Adapter的自定义
- ListView中adapter的作用
- 关于adapter布局中有Button控件时,导致ListView的onItemClick无法触发的问题
- 关于Android中layout的层次问题-----
- 关于ListView中adapter调用notifyDataSetChanged无效的原因
- 关于ListView中adapter调用notifyDataSetChanged失效的原因总结
- 关于ListView中adapter调用notifyDataSetChanged失效的原因总结
- ListView的adapter中getView被多次调用的问题
- listview中adapter的notifyDataSetChanged()不生效的问题
- listview中adapter的notifyDataSetChanged()不生效的问题
- listview中adapter的notifyDataSetChanged()不生效的问题
- android中listview的元素删除问题
- ListView中adapter不展示(代码冗余度的问题)
- Android-关于一个界面同级中需要两个listView时,一个ListView被嵌套在ScrollView中,ListView的适配器adapter中的getView执行次数重复问题
- listView的adapter问题
- 关于listView中adapter按钮点击事件冲突问题
- 类文件具有错误的版本 50.0,应为 49.0 问题解决
- 解决MFC程序[在静态库中使用 MFC]的问题
- C++--cin.get() 大法
- AJAX异步更改数据库
- 认识单元测试中的打桩
- 关于ListView中,修改Adapter的layout中元素的问题
- Android中打包含有Activity以及资源文件的jar包在工程中调用
- 国际知名大学计算机视觉研究小组列表
- Java 相关
- redhat上安装oralce 11gR2需要的包检查
- 240多个jQuey插件
- 程序员需要更强的沟通协调能力-对普通员工、有效的沟通能力可能比技术能力更重要
- strtok分离字符串
- 文件分隔符