BaseQuickAdapter怎样获取Item对象及子控件点击事件

获取Item对象

 SelectBean selectBean = (SelectBean) adapter.getItem(position); 

Adapter

public class TabDividendAdapter extends BaseQuickAdapter<SelectBean, BaseViewHolder> {



    public TabDividendAdapter() {
        super(R.layout.item_tab_dividend, null);

    }



    @Override
    protected void convert(BaseViewHolder holder, SelectBean data) {


        try {


            holder.setText(R.id.rank, data.getRanking()+"");
            holder.setText(R.id.note_phone, TextUtils.isEmpty(data.getName()) ? "" : data.getName());
            holder.setText(R.id.proportion, TextUtils.isEmpty(data.getProp()) ? "" : data.getProp());
            holder.setText(R.id.dividend, TextUtils.isEmpty(data.getBonusNum()) ? "" : data.getBonusNum());
            holder.addOnClickListener(R.id.vote_btn); //item中button事件

        }catch (Exception e){
            e.printStackTrace();

        }


    }




}

子控件点击事件

        mAdapter = new TabDividendAdapter();
        mAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
            @Override
            public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
                SelectBean selectBean = (SelectBean) adapter.getItem(position); //获取Item对象
                switch(view.getId()){
                  //TODO
                }
             
            

                }


            }
        });
//Item点击事件
        mAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {

            @Override
            public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
                SelectBean selectBean = (SelectBean) adapter.getItem(position);
            //TODO

                }
            }
        });

布局

<?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:orientation="horizontal"
    android:layout_marginTop="10dp"
    android:background="?android:attr/selectableItemBackground"
    >

    <TextView
        android:id="@+id/rank"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1"
        android:gravity="center_horizontal"
        android:textSize="@dimen/sp_13" />


    <TextView
        android:id="@+id/note_phone"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1.8"
        android:gravity="center_horizontal"
        android:textSize="@dimen/sp_13"
        android:singleLine="true"
        android:ellipsize = "end" />


    <TextView
        android:id="@+id/proportion"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1.2"
        android:gravity="center_horizontal"
        android:textSize="@dimen/sp_13" />


    <TextView
        android:id="@+id/dividend"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1.2"
        android:gravity="center_horizontal"
        android:textSize="@dimen/sp_13"

        />

    <Button
        android:id="@+id/vote_btn"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="20dp"
        android:layout_marginRight="@dimen/dp_5"
        android:background="@drawable/shape_btn_bg"
        android:text="@string/string_home_vote_her"
        android:textColor="@color/white"
        android:textSize="@dimen/sp_12"
        android:padding="@dimen/dp_1"
        android:textAllCaps="false"
        />


</LinearLayout>

发布了257 篇原创文章 · 获赞 136 · 访问量 107万+

猜你喜欢

转载自blog.csdn.net/wds1181977/article/details/103386695