当前位置: 首页 > news >正文

怎么0成本做网站南京网站建设学习

怎么0成本做网站,南京网站建设学习,统计网站建设,表格制作原文网址#xff1a;http://blog.csdn.net/onlyonecoder/article/details/8687811 Demo地址#xff08;0分资源#xff09;#xff1a;http://download.csdn.net/detail/onlyonecoder/5154352 由于listview的一些特性#xff0c;刚开始写这种需求的功能的时候都会碰到一些…原文网址http://blog.csdn.net/onlyonecoder/article/details/8687811 Demo地址0分资源http://download.csdn.net/detail/onlyonecoder/5154352   由于listview的一些特性刚开始写这种需求的功能的时候都会碰到一些问题重点就是存储每个checkbox的状态值在这里分享出了完美解决方法     布局文件     [html] view plaincopy ?xml version1.0 encodingutf-8?  RelativeLayout xmlns:androidhttp://schemas.android.com/apk/res/android      android:layout_widthfill_parent      android:layout_heightfill_parent      android:orientationhorizontal         TextView          android:idid/tv          android:layout_widthfill_parent          android:layout_heightwrap_content          android:layout_gravitycenter_vertical /        LinearLayout          android:idid/line          android:layout_widthfill_parent          android:layout_height50dp          android:layout_belowid/tv          android:orientationhorizontal             Button              android:idid/bt_selectall              android:layout_width80dp              android:layout_heightfill_parent              android:text全选 /                 Button              android:idid/bt_cancleselectall              android:layout_width80dp              android:layout_heightfill_parent              android:text反选 /                                   Button              android:idid/bt_deselectall              android:layout_width80dp              android:layout_heightfill_parent              android:text取消选择 /        /LinearLayout        ListView          android:idid/lv          android:layout_widthfill_parent          android:layout_heightfill_parent          android:layout_belowid/line /    /RelativeLayout       listView 的item布局文件     [html] view plaincopy ?xml version1.0 encodingutf-8?  LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/android      android:layout_widthfill_parent      android:layout_heightfill_parent      android:orientationhorizontal         TextView          android:idid/item_tv          android:layout_width0dp          android:layout_heightwrap_content          android:layout_gravitycenter_vertical          android:layout_weight1 /        CheckBox          android:idid/item_cb          android:layout_widthwrap_content          android:layout_heightwrap_content          android:clickablefalse          android:focusablefalse          android:focusableInTouchModefalse          android:gravitycenter_vertical /    /LinearLayout     Activity:     [java] view plaincopy public class Ex_checkboxActivity extends Activity {      private ListView lv;      private MyAdapter mAdapter;      private ArrayListString list;      private Button bt_selectall;      private Button bt_cancel;      private Button bt_deselectall;      private int checkNum; // 记录选中的条目数量      private TextView tv_show;// 用于显示选中的条目数量        /** Called when the activity is first created. */        Override      public void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          setContentView(R.layout.main);          /* 实例化各个控件 */          lv  (ListView) findViewById(R.id.lv);          bt_selectall  (Button) findViewById(R.id.bt_selectall);          bt_cancel  (Button) findViewById(R.id.bt_cancelselectall);          bt_deselectall  (Button) findViewById(R.id.bt_deselectall);          tv_show  (TextView) findViewById(R.id.tv);          list  new ArrayListString();          // 为Adapter准备数据          initDate();          // 实例化自定义的MyAdapter          mAdapter  new MyAdapter(list, this);          // 绑定Adapter          lv.setAdapter(mAdapter);            // 全选按钮的回调接口          bt_selectall.setOnClickListener(new OnClickListener() {              Override              public void onClick(View v) {                  // 遍历list的长度将MyAdapter中的map值全部设为true                  for (int i  0; i  list.size(); i) {                      MyAdapter.getIsSelected().put(i, true);                  }                  // 数量设为list的长度                  checkNum  list.size();                  // 刷新listview和TextView的显示                  dataChanged();              }          });            // 反选按钮的回调接口          bt_cancel.setOnClickListener(new OnClickListener() {              Override              public void onClick(View v) {                  // 遍历list的长度将已选的设为未选未选的设为已选                  for (int i  0; i  list.size(); i) {                      if (MyAdapter.getIsSelected().get(i)) {                          MyAdapter.getIsSelected().put(i, false);                          checkNum--;                      } else {                          MyAdapter.getIsSelected().put(i, true);                          checkNum;                      }                  }                  // 刷新listview和TextView的显示                  dataChanged();              }          });            // 取消按钮的回调接口          bt_deselectall.setOnClickListener(new OnClickListener() {              Override              public void onClick(View v) {                  // 遍历list的长度将已选的按钮设为未选                  for (int i  0; i  list.size(); i) {                      if (MyAdapter.getIsSelected().get(i)) {                          MyAdapter.getIsSelected().put(i, false);                          checkNum--;// 数量减1                      }                  }                  // 刷新listview和TextView的显示                  dataChanged();              }          });            // 绑定listView的监听器          lv.setOnItemClickListener(new OnItemClickListener() {              Override              public void onItemClick(AdapterView? arg0, View arg1, int arg2,                      long arg3) {                  // 取得ViewHolder对象这样就省去了通过层层的findViewById去实例化我们需要的cb实例的步骤                  ViewHolder holder  (ViewHolder) arg1.getTag();                  // 改变CheckBox的状态                  holder.cb.toggle();                  // 将CheckBox的选中状况记录下来                  MyAdapter.getIsSelected().put(arg2, holder.cb.isChecked());                  // 调整选定条目                  if (holder.cb.isChecked()  true) {                      checkNum;                  } else {                      checkNum--;                  }                  // 用TextView显示                  tv_show.setText(已选中  checkNum  项);              }          });      }        // 初始化数据      private void initDate() {          for (int i  0; i  15; i) {              list.add(data     i);          }          ;      }      // 刷新listview和TextView的显示      private void dataChanged() {          // 通知listView刷新          mAdapter.notifyDataSetChanged();          // TextView显示最新的选中数目          tv_show.setText(已选中  checkNum  项);      };  }     列表适配器     [java] view plaincopy package com.notice.listcheck;    import java.util.ArrayList;  import java.util.HashMap;    import android.content.Context;  import android.view.LayoutInflater;  import android.view.View;  import android.view.ViewGroup;  import android.widget.BaseAdapter;  import android.widget.CheckBox;  import android.widget.TextView;    public class MyAdapter extends BaseAdapter {      // 填充数据的list      private ArrayListString list;      // 用来控制CheckBox的选中状况      private static HashMapInteger, Boolean isSelected;      // 上下文      private Context context;      // 用来导入布局      private LayoutInflater inflater  null;        // 构造器      public MyAdapter(ArrayListString list, Context context) {          this.context  context;          this.list  list;          inflater  LayoutInflater.from(context);          isSelected  new HashMapInteger, Boolean();          // 初始化数据          initDate();      }        // 初始化isSelected的数据      private void initDate() {          for (int i  0; i  list.size(); i) {              getIsSelected().put(i, false);          }      }        Override      public int getCount() {          return list.size();      }        Override      public Object getItem(int position) {          return list.get(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) {              // 获得ViewHolder对象              holder  new ViewHolder();              // 导入布局并赋值给convertview              convertView  inflater.inflate(R.layout.listviewitem, null);              holder.tv  (TextView) convertView.findViewById(R.id.item_tv);              holder.cb  (CheckBox) convertView.findViewById(R.id.item_cb);              // 为view设置标签              convertView.setTag(holder);          } else {              // 取出holder              holder  (ViewHolder) convertView.getTag();          }          // 设置list中TextView的显示          holder.tv.setText(list.get(position));          // 根据isSelected来设置checkbox的选中状况          holder.cb.setChecked(getIsSelected().get(position));          return convertView;      }        public static HashMapInteger, Boolean getIsSelected() {          return isSelected;      }        public static void setIsSelected(HashMapInteger, Boolean isSelected) {          MyAdapter.isSelected  isSelected;      }        public static class ViewHolder {          TextView tv;          CheckBox cb;      }  }                 版权声明本文为博主原创文章未经博主允许不得转载。
http://www.pierceye.com/news/460768/

相关文章:

  • 免费企业网站程序上传wordpress 卸载
  • 大庆市建设局网站上不去linux删除WordPress
  • 宣城市建设监督管理局网站下载怎么上wordpress
  • 福州做网站fjfzwl编写软件开发文档
  • 平台设计网站公司电话号码建站哪家好用兴田德润
  • 宝安网站建设信科免费网站开发 自动填写表单
  • 网站怎么更新文章动漫网站在线免费观看
  • 织梦 网站迁移网页制作三剑客通常指
  • 南京本地网站建站武安百度seo
  • 特定ip段访问网站代码西安免费建网站设计
  • 个人网站备案取消wordpress可以做大吗
  • 如何做网站管理网站服务器基本配置
  • 做网站需要参考书目书龙岩营销型网站建设
  • 南通网站建设解决方案求助如何做网站推广
  • 揭阳企业做网站淮安做网站
  • 怎么给餐饮店做网站用织梦做企业网站
  • 技术支持 创思佳网站建设如何制作自己的网站
  • 济南网站建设公司晟创未来wordpress xml插件
  • 前端做商城网站需要多久实训课网站开发个人小结
  • 南宁网站seo排名优化手机网站制作架构
  • 亿唐网不做网站做品牌案例分析seo 推广服务
  • 深圳网站建设服务器如何编写一份网站开发需求文档
  • 营销网站策划wordpress主题在线汉化插件下载
  • 深圳市网站开发个人养老保险金怎么交
  • 超炫html5网站模板新手做网站怎么上传系统
  • 一个网站的二级目录在另一台服务器上_怎么做网络营销工程师前景
  • 个人网站推广软件企业网站建设变相收取等级保护费6
  • 有没有一些网站可以做问卷个人网站 服务器
  • 网站前端WordPress怎么自定义页眉
  • 常州企业免费建站秦皇岛市住房公积金管理中心