打造萬能的ListView GridView 介面卡
1、概述
相信做Android開發的寫得最多的就是ListView,GridView的介面卡吧,記得以前開發一同事開發專案,一個專案下來基本就一直在寫ListView的Adapter都快吐了~~~對於Adapter一般都繼承BaseAdapter複寫幾個方法,getView裡面使用ViewHolder模式,其實大部分的程式碼基本都是類似的。
本篇部落格為快速開發系列的第一篇,將一步一步帶您封裝出一個通用的Adapter。
2、常見的例子
首先看一個最常見的案例,大家一目十行的掃一眼
1、佈局檔案
主佈局檔案:
[html]
- <RelativeLayout 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" >
- <ListView
- android:id="@+id/id_lv_main"
- android:layout_width
- android:layout_height="fill_parent" />
- </RelativeLayout>
Item的佈局檔案:
[html] view plain copy
- <?xml version="1.0" encoding="utf-8"?>
- <TextView xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/id_tv_title"
- android:layout_width="match_parent"
- android:layout_height="50dp"
- android:background="#aa111111"
- android:gravity="center_vertical"
- android:paddingLeft="15dp"
- android:textColor="#ffffff"
- android:text="hello"
- android:textSize="20sp"
- android:textStyle="bold" >
- </TextView>
2、Adapter
[java] view plain copy
- package com.example.zhy_baseadapterhelper;
- import java.util.List;
- import android.content.Context;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.BaseAdapter;
- import android.widget.TextView;
- public class MyAdapter extends BaseAdapter
- {
- private LayoutInflater mInflater;
- private Context mContext;
- private List<String> mDatas;
- public MyAdapter(Context context, List<String> mDatas)
- {
- mInflater = LayoutInflater.from(context);
- this.mContext = context;
- this.mDatas = mDatas;
- }
- @Override
- public int getCount()
- {
- return mDatas.size();
- }
- @Override
- public Object getItem(int position)
- {
- return mDatas.get(position);
- }
- @Override
- public long getItemId(int position)
- {
- return position;
- }
- @Override
- public View getView(int position, View convertView, ViewGroup parent)
- {
- ViewHolder viewHolder = null;
- if (convertView == null)
- {
- convertView = mInflater.inflate(R.layout.item_single_str, parent,
- false);
- viewHolder = new ViewHolder();
- viewHolder.mTextView = (TextView) convertView
- .findViewById(R.id.id_tv_title);
- convertView.setTag(viewHolder);
- } else
- {
- viewHolder = (ViewHolder) convertView.getTag();
- }
- viewHolder.mTextView.setText(mDatas.get(position));
- return convertView;
- }
- private final class ViewHolder
- {
- TextView mTextView;
- }
- }
3、Activity
[java] view plain copy
- package com.example.zhy_baseadapterhelper;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- import android.app.Activity;
- import android.os.Bundle;
- import android.widget.ListView;
-
相關推薦
打造萬能的ListView GridView 介面卡
1、概述 相信做Android開發的寫得最多的就是ListView,GridView的介面卡吧,記得以前開發一同事開發專案,一個專案下來基本就一直在寫ListView的Adapter都快吐了~~~對於Adapter一般都繼承BaseAdapter複寫幾個方法,getView裡面使用
打造萬能Adapter(介面卡)——適用於ListView、GridListView
整理總結自鴻洋的部落格:http://blog.csdn.net/lmj623565791/article/details/38902805/ 一、利用普通的Adapter實現ListView列表——這是最基礎的介面卡 以下程式碼是最普通的實現方法: 1、MainActi
Android高手進階教程(十六)之---Android中萬能的BaseAdapter(Spinner,ListView,GridView)的使用!
private idt save idv -- imp drawable android中 welcome 大家好!今天給大家講解一下BaseAdapter(基礎適配器)的用法,適配器的作用主要是用來給諸如(Spinner,ListView,GridView)來填充數據的。
打造通用的Android下拉重新整理元件 適用於ListView GridView等各類View
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Android打造 ListView GridView等 通用的下拉重新整理 上拉自動載入的元件
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
為RecyclerView打造萬能介面卡,點選事件,5.0水波紋點選效果
一.前言 最近使用到RecyclerView,RecyclerView使用詳解戳這裡,由於使用過張鴻洋大神的ListView萬能Adapter,感覺RecyclerView的Adapter編寫還是太麻煩了,而且沒有點選事件,ok,參考ListView的萬能Ad
重寫listview/gridview 的onMeasure方法,解決與ScrollView的沖突問題
wid 沖突 integer max resp ide @override 固定 width 自定義類繼承listview/gridview 註意item中控件的高要設為固定值 @Overridepublic void onMeasure(int widthMeasure
Path特效之PathMeasure打造萬能路徑動效
rep flag fill pub tin 我們 set mcu ext 前面兩篇文章主要講解了 Path 的概念和基本使用,今天我們一起利用 Path 做個比較實用的小例子; 上一篇我們使用 Path 繪制了一個小桃心,我們這一篇繼續圍繞著這個小桃心進行展開:
背水一戰 Windows 10 (58) - 控件(集合類): ListViewBase - ListView, GridView
aml dpa net sealed em1 .net http per tran [源碼下載] 背水一戰 Windows 10 (58) - 控件(集合類): ListViewBase - ListView, GridView 作者:webabcd介紹背水一戰 Win
Android基礎——快速開發之打造萬能適配器
臃腫 log 思想 代碼分析 htm 考試報名 做了 順序 基礎 這裏以ListView作演示,對於ListView我們再熟悉不過了,其步驟分為: 創建ListView的Bean對象 創建ListView的Adapter的ItemView布局 創建ListView的Ada
flutter的對齊控制元件,拓展空間,listview,gridview控制元件使用
1.使用mainAxisAlignment和crossAxisAlignment屬性來控制行或列如何對齊其子控制元件。對於行,主軸水平執行,橫軸垂直執行。對於列,主軸垂直執行,橫軸水平執行。 2.在頁面展示的時候經常出現螢幕展示不全,這時候就會在螢幕上出現斜線框子。這樣的解決方法一是使用l
Android使用Fragment打造萬能頁面切換框架(
首先我們來回憶一下傳統用Activity進行的頁面切換,activity之間切換,首先需要新建intent物件,給該物件設定一些必須的引數,然後呼叫startActivity方法進行頁面跳轉。如果需要activity返回結果,則呼叫startActivityForResult方法,在onActivi
flutter的對齊控制元件,拓展空間,listview,gridview空間使用
1.使用mainAxisAlignment和crossAxisAlignment屬性來控制行或列如何對齊其子控制元件。對於行,主軸水平執行,橫軸垂直執行。對於列,主軸垂直執行,橫軸水平執行。 2.在頁面展示的時候經常出現螢幕展示不全,這時候就會在螢幕上出現斜線
Android PullToRefresh ListView GridView 下拉重新整理 使用詳解
轉載請標明出處:http://blog.csdn.net/lmj623565791/article/details/38238749,本文出自:【張鴻洋的部落格】群裡一哥們今天聊天偶然提到這個git hub上的控制元件:pull-to-refresh ,有興趣的看下,例子中的功
Android TV 開發-listview(GridView)使用鍵盤獲取焦點時,選中上次失去焦點時的item,而不是就近的item
在電視上開發Android應用時,經常要做有二級選單的應用,例如: 但當我們按左鍵的時候,左邊listview的最近的item會被選中,即如下效果: 但是在電視上開發應用的時候,我們希望是上一次被選中的item重新被選中,即希望是“日期和時間”被重新選中。 為了實現這個
OkHttp網路獲取資料通過RecycleView展示,實現ListView,GridView(網格佈局),瀑布流效果展示
因為涉及到網路請求資料 那麼首先我們先要在清單檔案 新增網路許可權,已經註冊MyApp(設定圖片的自定義類,需要註冊) <uses-permission android:name="android.permission.INTERNET"/>
安卓開發-ListView的介面卡和監聽器/ExpandableListView的使用
《一:BaseAdapter的簡單使用》 1.定義類MyAdapter,繼承BaseAdapter: public class MyAdapter extends BaseAdapter { //將佈局檔案轉換成View物件 priv
列表控制元件ListView和介面卡Adapter
學習筆記 一個ListView通常有兩個職責: (1)將資料填充到佈局 (2)處理使用者的選擇點選等操作 一個ListView建立需要3個元素: (1)ListView中每一列的View;(2)填入View的資料或圖片等;(3)連結資料與ListView的介面卡。 介面卡
ListView的介面卡和Holder的封裝
1未封裝標準寫法 MyAdapter.java class MyAdapter extends BaseAdapter { private ArrayList dat
Android5.x:RecycleView(一):實現ListView + GridView + StaggeredGridLayou效果
1 RecycleView實現ListView的功能 需要新增依賴: compile 'com.android.support:recyclerview-v7:24.2.0' 相關方法: RecyclerView的方法: