Android 数据显示控件(ListView实战演练)
生活随笔
收集整理的這篇文章主要介紹了
Android 数据显示控件(ListView实战演练)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
源碼 [工程文件]:https://gitee.com/lwx001/ListView
推薦博客:(這個更詳細。)
https://blog.csdn.net/weixin_44949135/article/details/105955663
ListView 基本使用:
activity_main.xml :
<?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"><ListViewandroid:id="@+id/lv"android:layout_width="match_parent"android:layout_height="match_parent"></ListView></RelativeLayout>ListView 實戰(zhàn)演練:
market.xml :
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><ListViewandroid:id="@+id/lv"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_margin="5dp"android:divider="#EE82EE"android:dividerHeight="3dp"></ListView></RelativeLayout>list_item.xml :
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center_vertical"><ImageViewandroid:id="@+id/item_image"android:layout_width="48dp"android:layout_height="48dp"android:layout_margin="8dp"android:background="@drawable/wx" /><TextViewandroid:id="@+id/item_tv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="我是ListView的Item布局"android:textSize="18sp" /> </LinearLayout>MainActivity.java :
package cn.lwx.listview;import androidx.appcompat.app.AppCompatActivity;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 mListView;//定義需要適配的數(shù)據(jù)private String[] names = {"京東商城", "QQ", "QQ斗地主", "新浪微博", "天貓", "UC瀏覽器", "微信"};//定義圖片集合private int[] icons = {R.drawable.jd, R.drawable.qq, R.drawable.dz,R.drawable.xl, R.drawable.tm, R.drawable.uc, R.drawable.wx};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.market);//初始化ListView控件mListView = (ListView) findViewById(R.id.lv);//ListView展示數(shù)據(jù)需要適配器 創(chuàng)建一個Adapter的實例MyBaseAdapter mAdapter = new MyBaseAdapter();//設(shè)置AdaptermListView.setAdapter(mAdapter);}class MyBaseAdapter extends BaseAdapter {//BaseAdapter需要實現(xiàn)4個方法//返回item總數(shù)@Overridepublic int getCount() {//返回ListView Item條目的總數(shù)return names.length;}//得到Item代表的對象@Overridepublic Object getItem(int position) {//返回ListView Item條目代表的對象return names[position];}//得到Item的id@Overridepublic long getItemId(int position) {//返回ListView Item的idreturn position;}// ListView優(yōu)化 得到Item的View視圖@Override // convertView 歷史緩存對象public View getView(int position, View convertView, ViewGroup parent) {//將list_item布局轉(zhuǎn)換成一個View對象 打氣筒 View.inflate();ViewHolder holder;if (convertView == null) {convertView = LayoutInflater.from(getApplicationContext()).inflate(R.layout.list_item, parent, false);holder = new ViewHolder();holder.mTextView = (TextView) convertView.findViewById(R.id.item_tv);holder.imageView = (ImageView) convertView.findViewById(R.id.item_image);convertView.setTag(holder);} else {holder = (ViewHolder) convertView.getTag();}holder.mTextView.setText(names[position]);holder.imageView.setBackgroundResource(icons[position]);return convertView;}class ViewHolder {TextView mTextView;ImageView imageView;}// //得到Item的View視圖 // @Override // public View getView(int position, View convertView, ViewGroup parent) { // //將list_item布局轉(zhuǎn)換成一個View對象 打氣筒 View.inflate(); // View view = View.inflate(MainActivity.this, R.layout.list_item, null); // //找到條目中的控件 // ImageView imageView = (ImageView) view.findViewById(R.id.item_image); // TextView mTextView = (TextView) view.findViewById(R.id.item_tv); // mTextView.setText(names[position]); // imageView.setBackgroundResource(icons[position]); // return view; // }}}運行截圖 :
總結(jié)
以上是生活随笔為你收集整理的Android 数据显示控件(ListView实战演练)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 天气预报【解析XML /
- 下一篇: 中缀表达式计算、后缀表达式计算、中缀转后