Android:ListView自定义适配器

在需要添加适配器的页面添加一个ListView控件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".News1Fragment">

    <!-- TODO: Update blank fragment layout -->
    <ListView
        android:id="@+id/list_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

对应的JAVA文件中添加数据

private int imgs[]= News1Data.imgs;
private String title[]= News1Data.title;
private String content[]= News1Data.content;
private String assessTotal[]= News1Data.assessTotal;
private String time []= News1Data.time;

数据类,这里加5条

public static int imgs[]={R.drawable.ic_launcher_foreground,R.drawable.ic_launcher_foreground,R.drawable.ic_launcher_foreground,R.drawable.ic_launcher_foreground,R.drawable.ic_launcher_foreground};
public static String title[]={"标题1","标题1","标题1","标题1","标题1"};
public static String content[]={"内容","内容","内容","内容","内容"};
public static String assessTotal[]={"500","500","500","500","500"};
public static String time []={"2023/3/25","2023/3/25","2023/3/25","2023/3/25","2023/3/25"};

添加视图,设置适配器

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    View view = inflater.inflate(R.layout.fragment_news1, null);

    ListView listView = view.findViewById(R.id.list_view);

    mBaseAdapter adapter = new mBaseAdapter();
    listView.setAdapter(adapter);
    return view;

 适配器代码,继承BaseAdapter,实现方法

class mBaseAdapter extends BaseAdapter{

    @Override
    public int getCount() {
        return title.length;
    }

    @Override
    public Object getItem(int position) {
        return title[position];
    }

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


    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View view = View.inflate(getContext(), R.layout.newslist, null);
       ImageView news_img= view.findViewById(R.id.news_img);
       TextView news_title= view.findViewById(R.id.news_title);
       TextView news_content= view.findViewById(R.id.news_content);
       TextView news_assessTotal= view.findViewById(R.id.news_assessTotal);
       TextView news_time= view.findViewById(R.id.news_time);


       news_img.setBackgroundResource(imgs[position]);
       news_title.setText(title[position]);
        news_content.setText(content[position]);
        news_assessTotal.setText("点赞数:"+assessTotal[position]);
        news_time.setText("时间:"+time[position]);
 
        return view;
    }

Guess you like

Origin blog.csdn.net/weixin_63987141/article/details/129788708