好的接下來的話就是我們的listview控制元件了,現在的話就是我們的listview的話就是設定
我們的串列項的,它的話是呈現的是我們的串列的形式顯現出來主要的話是用來設定我們
的串列項的如我們的新聞等,
Step1: 創建一個我們的專案,然后的話就是撰寫我們的xml檔案,

Step2: ListView進行資料的展示

然后的話就是我們的基本配接器: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.



然后的話就是我們的第三個配接器:
然后的話就是我們的實戰的演練:
然后的話實戰演練的第一步的話就是
1: 創建一個我們的Android專案,然后話撰寫我們的布局檔案

<?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下的),


<?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部分的代碼:

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;
}
}
}

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/238089.html
標籤:其他
