BaseAdapter

相比于SimpleAdapter,不仅可以显示数据,还可以根据数据设定不同的逻辑。

layout-item_info:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    
    
    用于展示性别头像
    <ImageView
        android:id="@+id/image_sex"
        android:layout_width="100dp"
        android:layout_height="100dp" />

    <TextView
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/sex"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/age"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>
public class MainActivity extends AppCompatActivity {

    List<UserInfo>datalist;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ListView listView=(ListView)findViewById(R.id.my_lv);


        datalist=new ArrayList<>();
        for(int i=0;i<50;i++){
            UserInfo userInfo=new UserInfo();//添加数据
            userInfo.name="张三"+i;
            userInfo.age=10+i;
            userInfo.sex=i%2==0?"男":"女";
            datalist.add(userInfo);
        }
        UserInfoListAdapter userInfoListAdapter=new UserInfoListAdapter();
        listView.setAdapter(userInfoListAdapter);

    }

    class UserInfoListAdapter extends BaseAdapter{//选中 UserInfoListAdapter,option+回车

        @Override
        public int getCount() {
            return datalist.size();
        }

        @Override
        public Object getItem(int i) {
            return datalist.get(i);
        }

        @Override
        public long getItemId(int i) {
            return i;
        }

        @Override
        public View getView(int i, View view, ViewGroup viewGroup) {
            View itemRootview= LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_info,null);
            TextView name=(TextView)itemRootview.findViewById(R.id.name);
            name.setText(datalist.get(i).name);

            TextView sex=(TextView)itemRootview.findViewById(R.id.sex);
            sex.setText(datalist.get(i).sex);

            TextView age=(TextView)itemRootview.findViewById(R.id.age);
            age.setText(datalist.get(i).age+"");//转成 字符串

            ImageView imagesex=(ImageView)itemRootview.findViewById(R.id.image_sex);
            if(datalist.get(i).sex.equals("男")){
                imagesex.setBackgroundResource(R.drawable.male);//显示男头像
            }
            else{
                imagesex.setBackgroundResource(R.drawable.female);//显示女头像
            }


            return itemRootview;
        }
    }



    class  UserInfo{//新建用户类
        String name;
        int age;
        String sex;
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值