我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android 中CheckBox多项选择当前的position信息提交的示例代码

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android 中CheckBox多项选择当前的position信息提交的示例代码

先给大家展示下效果图:

Android 中CheckBox多项选择当前的position信息提交的示例代码

废话不多说了,下面通过示例代码给大家介绍checkbox 多项选择当前的position信息提交,具体代码如下所示:

package com.dplustours.b2c.View.activity; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.CheckBox; import android.widget.Toast; import com.dplustours.b2c.R; import com.dplustours.b2c.View.application.MyApplication; import com.dplustours.b2c.View.application.UIHelper; import java.util.ArrayList; import java.util.HashMap;  public class ElseSelectCarinfosActivity extends BaseActivity implements View.OnClickListener {  private com.dplustours.b2c.View.view.MyListView else_listview;  private Button next_step;  private static CheckBox iv_select;  private ArrayList elsetcarDetails;  @Override  protected String setHeadStyleTitle() {   return "其他选择";  }  @Override  protected void requestData() {   //租车信息列表   elsetcarDetails = new ArrayList();    MulAdapter mRentcarDetailsAdapter = new MulAdapter(this, elsetcarDetails);   else_listview.setAdapter(mRentcarDetailsAdapter);   elsetcarDetails.add(1);   elsetcarDetails.add(1);   elsetcarDetails.add(1);   mRentcarDetailsAdapter.notifyDataSetChanged();   else_listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {    @Override    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {     // 取得ViewHolder对象,这样就省去了通过层层的findViewById去实例化我们需要的cb实例的步骤     MulAdapter.ViewHolder viewHolder = (MulAdapter.ViewHolder) view.getTag();     viewHolder.iv_select.toggle();// 把CheckBox的选中状态改为当前状态的反,gridview确保是单一选中     MulAdapter.getIsSelected().put(position, viewHolder.iv_select.isChecked());////将CheckBox的选中状况记录下来     if (viewHolder.iv_select.isChecked() == true) {      Toast.makeText(ElseSelectCarinfosActivity.this,"对勾"+position,Toast.LENGTH_LONG).show();     } else {      Toast.makeText(ElseSelectCarinfosActivity.this,"取消"+position,Toast.LENGTH_LONG).show();     }     Toast.makeText(ElseSelectCarinfosActivity.this,"当前"+position,Toast.LENGTH_LONG).show();    }   });  }  @Override  protected View getSuccessView() {   View view = View.inflate(MyApplication.context, R.layout.activity_else_car, null);   else_listview = (com.dplustours.b2c.View.view.MyListView) view.findViewById(R.id.else_listview);   next_step = (Button) view.findViewById(R.id.next_step);   next_step.setOnClickListener(this);   return view;  }  @Override  public void onClick(View v) {   switch (v.getId()) {    case R.id.next_step:     UIHelper.Go(ElseSelectCarinfosActivity.this, CarInfosOkActivity.class);     break;    default:     break;   }  }  public static class MulAdapter extends BaseAdapter {   private LayoutInflater inflater = null;//导入布局   private Context context;   //上下文   private ArrayList<String> list;   // 控制CheckBox选中情况   private static HashMap<Integer, Boolean> isSelected;   //导入布局   public MulAdapter(Context context, ArrayList<String> list) {    this.context = context;    this.list = list;    inflater = LayoutInflater.from(context);    isSelected = new HashMap<Integer, Boolean>();    initData();   }   private void initData() {    //初始化isSelected的数据    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;   }   //listview每显示一行数据,该函数就执行一次   @Override   public View getView(int position, View convertView, ViewGroup parent) {    ViewHolder holder = null;    if (convertView == null) {     //当第一次加载ListView控件时 convertView为空     convertView = inflater.inflate( R.layout.activity_elsecar_details, null);     //所以当ListView控件没有滑动时都会执行这条语句     holder = new ViewHolder();     holder.iv_select = (CheckBox) convertView.findViewById(R.id.iv_select);     convertView.setTag(holder);//为view设置标签    } else {     //取出holder     holder = (ViewHolder) convertView.getTag();     //the Object stored in this view as a tag    }    if (getIsSelected().get(position)!=null) {     // 根据isSelected来设置checkbox的选中状况     holder.iv_select.setChecked(getIsSelected().get(position));    }    return convertView;   }   public class ViewHolder {    CheckBox iv_select;   }   public static HashMap<Integer, Boolean> getIsSelected() {    return isSelected;   }   public void setIsSelected(HashMap<Integer, Boolean> isSelected) {    MulAdapter.isSelected = isSelected;   }  } } <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:background="@color/weixin"  android:orientation="vertical">  <com.dplustours.b2c.View.view.InnerScrollView   android:id="@+id/scrollView"   android:layout_width="match_parent"   android:layout_height="0dp"   android:layout_weight="1">   <LinearLayout    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical">    <LinearLayout     android:layout_width="match_parent"     android:layout_height="@dimen/dp_60"     android:layout_gravity="center"     android:background="@color/white"     android:gravity="center"     android:orientation="horizontal"     android:paddingLeft="@dimen/dp_10">     <TextView      android:layout_width="0dp"      android:layout_height="match_parent"      android:layout_weight="1"      android:gravity="center|left"      android:text="车辆租金"      android:textColor="@color/black"      android:textSize="@dimen/sp_15" />     <TextView      android:layout_width="0dp"      android:layout_height="match_parent"      android:layout_weight="3"      android:gravity="center"      android:text="¥ 6000.00×1=¥ 600.00"      android:textColor="@color/gray"      android:textSize="@dimen/sp_13" />    </LinearLayout>    <View     android:layout_width="match_parent"     android:layout_height="@dimen/dp_1"     android:background="@color/login_line" />    <com.dplustours.b2c.View.view.MyListView     android:id="@+id/else_listview"     android:layout_width="match_parent"     android:layout_height="wrap_content"     android:background="@color/white">    </com.dplustours.b2c.View.view.MyListView>    <View     android:layout_width="match_parent"     android:layout_height="@dimen/dp_1"     android:background="@color/login_line" />    <LinearLayout     android:layout_width="match_parent"     android:layout_height="@dimen/dp_60"     android:layout_gravity="center|right"     android:background="@color/white"     android:gravity="center|right"     android:orientation="horizontal"     android:paddingLeft="@dimen/dp_10">     <TextView      android:layout_width="0dp"      android:layout_height="match_parent"      android:layout_marginRight="@dimen/dp_10"      android:layout_weight="3"      android:gravity="center|right"      android:text="¥6000.00"      android:textColor="@color/red"      android:textSize="@dimen/sp_15" />    </LinearLayout>    <View     android:layout_width="match_parent"     android:layout_height="@dimen/dp_1"     android:background="@color/login_line" />   </LinearLayout>  </com.dplustours.b2c.View.view.InnerScrollView>  <Button   android:id="@+id/next_step"   android:layout_width="match_parent"   android:layout_height="@dimen/dp_60"   android:layout_alignParentBottom="true"   android:layout_gravity="bottom"   android:background="@color/yuyue"   android:gravity="center"   android:text="下一步"   android:textColor="#FFFFFF"   android:textSize="@dimen/sp_18" /> </LinearLayout> <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:background="@color/white"  android:orientation="vertical">  <LinearLayout   android:layout_width="match_parent"   android:layout_height="@dimen/dp_60"   android:orientation="horizontal"   android:paddingLeft="@dimen/dp_10">   <LinearLayout    android:layout_width="0dp"    android:layout_height="match_parent"    android:layout_weight="1"    android:orientation="horizontal">    <CheckBox     android:focusable="false"     android:clickable="false"     android:button="@null"     android:background="@drawable/chebox_mult_select"     android:id="@+id/iv_select"     android:layout_width="@dimen/dp_25"     android:gravity="center|left"     android:layout_height="@dimen/dp_25"     android:layout_gravity="center"     />    <TextView     android:layout_width="wrap_content"     android:layout_height="match_parent"     android:layout_gravity="center"     android:gravity="center"     android:paddingLeft="@dimen/dp_15"     android:text="手续费"     android:textColor="@color/center_item_text" />   </LinearLayout>   <TextView    android:layout_width="0dp"    android:layout_height="match_parent"    android:layout_gravity="center"    android:layout_weight="3"    android:textColor="@color/black"    android:gravity="center"    android:text="¥ 50.00" />  </LinearLayout> </LinearLayout> package com.dplustours.b2c.View.activity; import android.annotation.TargetApi; import android.content.Context; import android.os.Build; import android.os.Bundle; import android.os.IBinder; import android.support.v7.app.AppCompatActivity; import android.view.MotionEvent; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.view.inputmethod.InputMethodManager; import android.widget.Button; import android.widget.EditText; import android.widget.FrameLayout; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; import com.dplustours.b2c.R; import com.dplustours.b2c.Utils.NetUtil; import com.dplustours.b2c.View.application.MyApplication; import com.zhy.http.okhttp.OkHttpUtils;  public abstract class BaseActivity extends AppCompatActivity {  private View view;  private LinearLayout ll_activity_base;  private Button btn_headtitle_leftback;  private TextView g_headtitle_title_textview;  private FrameLayout tl_header_info;  @Override  protected void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   //创建公共的view就是头部样式   view = View.inflate(MyApplication.context, R.layout.activity_header_style_base, null);   ll_activity_base = (LinearLayout) view.findViewById(R.id.ll_activity_base);   btn_headtitle_leftback = (Button) view.findViewById(R.id.btn_headtitle_leftback);   g_headtitle_title_textview = (TextView) view.findViewById(R.id.g_headtitle_title_textview);   tl_header_info = (FrameLayout) view.findViewById(R.id.tl_header_info);   //这个是让子类去实现具体的view   View successView = getSuccessView();   //在添加之前要让没数据的时候子view也要填充满   LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT);   ll_activity_base.addView(successView, params);   //动态添加view   setContentView(view);   //初始化头部样式的逻辑   intiHeadStyle(btn_headtitle_leftback, g_headtitle_title_textview);   //添加沉浸式状态栏   addStatlan();   //判断网络是否打开   if (NetUtil.isNetworkAvailable(MyApplication.context) == true) {//说明网络已经打开    //从服务器获取数据    requestData();   } else {    Toast.makeText(MyApplication.context, "请连接网络", Toast.LENGTH_LONG).show();   }  }  private void intiHeadStyle(Button btn_headtitle_leftback, TextView g_headtitle_title_textview) {   btn_headtitle_leftback.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View v) {     finishActivity();    }   });   //头部样式设置标题让子类去实现   String headTileinfo = setHeadStyleTitle();   g_headtitle_title_textview.setText(headTileinfo);  }  protected void finishActivity(){   finish();  }    protected abstract String setHeadStyleTitle();  private void addStatlan() {   //判断SDK版本是否大于等于19,大于就让他显示,小于就要隐藏,不然低版本会多出来一个   if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {    setTranslucentStatus(true);    tl_header_info.setVisibility(View.VISIBLE);    //还有设置View的高度,因为每个型号的手机状态栏高度都不相同   } else {    tl_header_info.setVisibility(View.GONE);   }  }  @TargetApi(19)  private void setTranslucentStatus(boolean on) {   Window win = getWindow();   WindowManager.LayoutParams winParams = win.getAttributes();   final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;   if (on) {    winParams.flags |= bits;   } else {    winParams.flags &= ~bits;   }   win.setAttributes(winParams);  }    protected abstract void requestData();    protected abstract View getSuccessView();  @Override  protected void onDestroy() {   super.onDestroy();   OkHttpUtils.getInstance().cancelTag(MyApplication.context);  }    public boolean isShouldHideInput(View v, MotionEvent event) {   if (v != null && (v instanceof EditText)) {    int[] l = {0, 0};    v.getLocationInWindow(l);    int left = l[0], top = l[1], bottom = top + v.getHeight(), right = left + v.getWidth();    if (event.getX() > left && event.getX() < right && event.getY() > top && event.getY() < bottom) {     // 点击EditText的事件,忽略它。     return false;    } else {     return true;    }   }   // 如果焦点不是EditText则忽略,这个发生在视图刚绘制完,第一个焦点不在EditView上,和用户用轨迹球选择其他的焦点   return false;  }    public void hideSoftInput(IBinder token) {   if (token != null) {    InputMethodManager im = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);    im.hideSoftInputFromWindow(token, InputMethodManager.HIDE_NOT_ALWAYS);   }  }  @Override  public boolean dispatchTouchEvent(MotionEvent ev) {   if (ev.getAction() == MotionEvent.ACTION_DOWN) {    // 获得当前得到焦点的View,一般情况下就是EditText(特殊情况就是轨迹求或者实体案件会移动焦点)    View v = getCurrentFocus();    if (isShouldHideInput(v, ev)) {     hideSoftInput(v.getWindowToken());    }   }   return super.dispatchTouchEvent(ev);  } } 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android 中CheckBox多项选择当前的position信息提交的示例代码

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android 中CheckBox多项选择当前的position信息提交的示例代码

先给大家展示下效果图:废话不多说了,下面通过示例代码给大家介绍checkbox 多项选择当前的position信息提交,具体代码如下所示:package com.dplustours.b2c.View.activity; import an
2023-05-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录