好的接下来的话就是我们的listview控件了,现在的话就是我们的listview的话就是设置
我们的列表项的,它的话是呈现的是我们的列表的形式显现出来主要的话是用来设置我们
的列表项的如我们的新闻等。
Step1: 创建一个我们的项目,然后的话就是编写我们的xml文件。

android listview使用 android开发listview_java


Step2: ListView进行数据的展示

android listview使用 android开发listview_java_02


然后的话就是我们的基本适配器:BaseAdapter
我们的BaseAdapter的四个方法

1: public int getCount() // 获取的是我们的的item的数量

2: public Object getItem(int position) 根据我们position(位置)得到我们的item对象

3: public long getItemId() 这个方法的话就是根据我们的position得到我们的某个item的id。

4: public View getView(int position,View convertView,ViewGroup parent)第一个的参数的话

对应的是我们的position指的就是我们的position对应的视图,第二个参数的话是复用旧的视图,第三个参数的话是加载我们的xml布局

//然后在这个位置的话就是补充我们的适配器对象:SimpleAdapter的话继承的是我们的
BaseAdapter.

android listview使用 android开发listview_java_03

android listview使用 android开发listview_列表_04

android listview使用 android开发listview_java_05


android listview使用 android开发listview_android_06

然后的话就是我们的第三个适配器:

android listview使用 android开发listview_java_07

然后的话就是我们的实战的演练:

然后的话实战演练的第一步的话就是
1: 创建一个我们的Android项目,然后话编写我们的布局文件

android listview使用 android开发listview_python_08

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
<!--使用我们的相对布局的方式来编写我们的页面布局-->
    <ListView
        android:id="@+id/ListView"
        android:layout_margin="5dp"
        android:divider="#5E5E5D"
        android:dividerHeight="1dp"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
<!--在这个位置的话我们使用到了我们的就是divider指的是我们的分割线然后的话我们制定它的高度是1dp-->

</RelativeLayout>

2: step2: 我们的listview的布局文件写好以后呢?我们的话就创建我们的条目,指代的就是创建我们的条目,item,(条目的创建是在我么的layout下的)。

android listview使用 android开发listview_列表_09

android listview使用 android开发listview_java_10

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_gravity="center_vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
<!--好的现在的话我们就是在我们设置的item布局文件中了,现在的话就是编写我们的item的布局的方式
 在我们的上面的话我们使它的那个布局的方向是水平垂直的居中,然后的话还有的就是我们的线性方向的
 话设置为水平方向
-->
    <ImageView
        android:background="@mipmap/xwen1"
        android:id="@+id/item_image"
        android:layout_margin="8dp"
        android:layout_width="48dp"
        android:layout_height="48dp"/>
    <TextView
        android:id="@+id/item_iv"
        android:textSize="18sp"
        android:text="我是listview的item布局"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
</LinearLayout>

然后的话就是编写我们的MainActivity部分的代码:

android listview使用 android开发listview_列表_11

package com.example.listview;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
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;
    // todo step2: 定义我们需要的适配器数据
    private String[]  news= {"新闻1","新闻2","新闻3"};
    // todo step2: 定义我们图片的集合
    private int[] icons = {R.mipmap.xwen1,R.mipmap.xweb,R.mipmap.cshi};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 接下来的话就是编写我们的逻辑部分的代码 TODO step1: 找到我们的ListView控件,然后的话将我们的数据转换成我们的成员变量
        listView = (ListView) findViewById(R.id.ListView);

        // todo step4: 最后的话就是创建我们的适配器:
        MyBaseAdapter mAdapter = new MyBaseAdapter();
        //然后的话就是设置我们适配器的方法
        listView.setAdapter(mAdapter);   //到此的话我们的程序编写完成


    }
    // todo step3: 然后的话我们是一定要记住的就是我们的listview展示我们的数据的话是一定会用到我们的就是适配器我们的第三步的话就是定义我们的适配器
    // 在这个位置定义我们的适配器,定义我们的适配器的话使用到的适配器的话是我们的最基础的适配器
    class MyBaseAdapter extends BaseAdapter{

        private ImageView imageView;
        private TextView textView;

        @Override
        public int getCount() {
            //这个方法的话指代的就是我们的item的数量就是指代的就是我们的数组的长度
            return news.length;
        }

        @Override
        public Object getItem(int i) {
            // 然后的话就是拿到我们的item对应的对象
            return news[i];
        }
                    // TODO 这里的话就是我们使用我们的baseAdapter的话需要实现我们的对应的四个方法
        @Override
        public long getItemId(int i) {
            // 这里的话就是返回的是我们的数组中对应的id
            return i;
        }
         // 这里的话就是得到我们item的view实体
        @Override
        public View getView(int i, View view, ViewGroup viewGroup) {
//            将我们编写的布局转换成我们的view对象
            // todo 然后的话我们的这里又一个方法把我们的view布局转换成我们的view对象
            View mview  =  View.inflate(MainActivity.this,R.layout.list_item,null);
            // 找到我们编写的就是设置的view布局文件,然后的话转换成我们的成员变量
            imageView = (ImageView) mview.findViewById(R.id.item_image);
            textView = (TextView) mview.findViewById(R.id.item_iv);
            // 然后的话就是设置我们的数据第一个是我们的文本,第二个的话是我们的背景图片
            imageView.setBackgroundResource(icons[i]);
            textView.setText(news[i]);

            //然后的话就是将我们转换好的view对象返回
            return mview;
        }
    }
}

android listview使用 android开发listview_python_12