国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 中CheckBox多項選擇當前的position信息提交的示例代碼

2019-10-22 18:32:37
字體:
來源:轉載
供稿:網友

先給大家展示下效果圖:

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; /**  * Created by zhq_zhao on 2017/7/7.  */ 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; /**  * Created by zhq_zhao on 2017/4/7.  * acticity的基類用來管理所有的activity  */ 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();  }  /**   * 返回頭部字符串   *   * @return   */  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);  }  /**   * 初始化數據   *   * @return   */  protected abstract void requestData();  /**   * 創建自己的view   *   * @return   */  protected abstract View getSuccessView();  @Override  protected void onDestroy() {   super.onDestroy();   OkHttpUtils.getInstance().cancelTag(MyApplication.context);  }  /**   * 根據EditText所在坐標和用戶點擊的坐標相對比,來判斷是否隱藏鍵盤,因為當用戶點擊EditText時沒必要隱藏   *   * @param v   * @param event   * @return   */  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;  }  /**   * 多種隱藏軟件盤方法的其中一種   *   * @param token   */  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);  } } 

以上所述是小編給大家介紹的Android 中CheckBox多項選擇當前的position信息提交的示例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陈巴尔虎旗| 南靖县| 迁西县| 阳春市| 南昌县| 广昌县| 建湖县| 长岛县| 铜鼓县| 奉贤区| 邢台县| 滨州市| 贡嘎县| 枣强县| 金沙县| 安新县| 嘉祥县| 镇原县| 巴中市| 龙井市| 隆回县| 镇雄县| 鲁山县| 沾化县| 黔西| 临夏市| 东乡族自治县| 高台县| 柳州市| 双鸭山市| 广饶县| 保定市| 江华| 海宁市| 襄城县| 太康县| 长春市| 东宁县| 保德县| 泽普县| 柘城县|