ListView的創(chuàng)建

1.我先創(chuàng)建了一個listview的包


screenshot.png

2.然后創(chuàng)建手動創(chuàng)建一個類(class),activity本身就是一個類,然后在創(chuàng)建的ListViewActivity里面實(shí)現(xiàn)相關(guān)聯(lián)的layout的方法,首先是先創(chuàng)建一個activity_listview的layout,然后在 ListViewActivity里面實(shí)現(xiàn)一下方法


screenshot.png

3.手動創(chuàng)建的class 要在AndroidManifest.xml里面實(shí)現(xiàn)他的存在比如這個我寫的demo,他的listviewActivity是存在于listView包下的,所以他的實(shí)現(xiàn)的方法如下:


2737EF2D-9D44-4D64-BA9D-6D92C0EEAF93.png

4.在創(chuàng)建的activity_listview的layout里面布局ListView控件

screenshot.png

然后在activity_listview 實(shí)現(xiàn)這個ListView的對象

screenshot.png

5.創(chuàng)建ListViewAdapter(適配器,相當(dāng)于iOS里面的TableViewController),并創(chuàng)建layout_list_item.xml(自定義item的布局文件,相當(dāng)于iOS里面的自定義cell)

//以下是ListViewAdapter適配器里面的代碼

package com.example.swkj.listviewselftest.listView;

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

import com.bumptech.glide.Glide;
import com.example.swkj.listviewselftest.R;

/**
 * Created by swkj on 2017/9/19.
 */

public class ListViewAdapter extends BaseAdapter {

    private Context mContext;
    private LayoutInflater mLayoutInflater;

        ListViewAdapter(Context context){

        this.mContext = context;
        this.mLayoutInflater = LayoutInflater.from(context);

    }

    @Override
    public int getCount() {
        return 10;
    }

    @Override
    public Object getItem(int i) {
        return null;
    }

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

    static class ViewHolder{

        public ImageView imageView;
        public TextView mTv_1,mTv_2,mTv_3;

    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {

        ViewHolder viewHolder = null;

        if(view == null) {
            view = mLayoutInflater.inflate(R.layout.layout_list_item,null);

            viewHolder = new ViewHolder();

            viewHolder.imageView = view.findViewById(R.id.iv);
            viewHolder.mTv_1 = view.findViewById(R.id.tv_1);
            viewHolder.mTv_2 = view.findViewById(R.id.tv_2);
            viewHolder.mTv_3 = view.findViewById(R.id.tv_3);

            view.setTag(viewHolder);
        }else{

            viewHolder = (ViewHolder) view.getTag();
        }

        //下面是控件賦值過程

        viewHolder.mTv_1.setText("這是標(biāo)題");
        viewHolder.mTv_2.setText("2017/10/1 9:30");
        viewHolder.mTv_3.setText("薩達(dá)姆被美國捉住,被處以絞刑");
        Glide.with(mContext).load("https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png").into(viewHolder.imageView);

        notifyDataSetChanged();
        return view;
    }
}

//附上layout_list_item.xml demo里面的布局

screenshot.png

6.回到activity_listview,實(shí)現(xiàn)它的Adapter的相應(yīng)方法

screenshot.png

最后 如果要加載網(wǎng)絡(luò)數(shù)據(jù)的話,比如ImageView控件加載的是網(wǎng)絡(luò)圖片,記得開網(wǎng)關(guān)
P.S:安卓開網(wǎng)關(guān)的方法
在AndroidManifest.xml里面寫上
<uses-permission android:name="android.permission.INTERNET"/>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容