0
点赞
收藏
分享

微信扫一扫

ListView第三节,使用自定义适配器实现图文列表

前程有光 2022-01-27 阅读 63

除了使用系统原有的适配器,我们也可以自定义适配器来实现我们想要的效果

其他步骤都一样,只不过需要重写一个继承BaseAdapter的内部类

package com.example.listviewtest02;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    private ListView listView;
    //还是首先声明listview,然后在oncreate里面绑定资源文件
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView = findViewById(R.id.listView);
         //然后在oncreate里面绑定资源文件
        listView.setAdapter(new myAdapter(this));
         //最后把做好的adapter放进listview即可
       
    }

    static class myAdapter extends BaseAdapter{
        private String[] titles = {"客户-1","客户-2","客户-3","客户-4","客户-5","客户-6","客户-7"};
        private int[] icons = {
            android.R.drawable.ic_input_add,
            android.R.drawable.ic_delete,
            android.R.drawable.ic_dialog_email,
            android.R.drawable.ic_input_delete,
            android.R.drawable.ic_input_get,
            android.R.drawable.ic_dialog_map,
            android.R.drawable.ic_dialog_info

        };

        private Context context;

        public myAdapter(Context context){
            this.context = context;
        }
        @Override
        public int getCount() {
            return titles.length;
        }

        @Override
        public Object getItem(int i) {
            return titles[i];
        }

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

        @Override
        public View getView(int i, View view, ViewGroup viewGroup) {
            LayoutInflater inflater = LayoutInflater.from(context);
             view = inflater.inflate(R.layout.item,null);
            TextView textView = view.findViewById(R.id.textView2);
            ImageView imageView = view.findViewById(R.id.imageView);

            textView.setText(titles[i]);
            imageView.setImageResource(icons[i]);

            return view;

        }
    }

}

 

举报

相关推荐

0 条评论