www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] 在開發(fā)中l(wèi)istview是每個項目肯定要使用的控件,用到listview就必須用到BaseAdapter,一般老大搭框架的時候會把一些重用的東西抽取出來,方便每個開發(fā)人員使用并且復(fù)用性很強,

 在開發(fā)中l(wèi)istview是每個項目肯定要使用的控件,用到listview就必須用到BaseAdapter,一般老大搭框架的時候會把一些重用的東西抽取出來,方便每個開發(fā)人員使用并且復(fù)用性很強,那么必須封裝的好,今天簡單的寫一個平時使用到的,把BaseAdapter封裝下,

MyBaseAdapter.java

public abstract class MyBaseAdapter extends BaseAdapter {

private List datas;

private Context context;

public MyBaseAdapter(List datas, Context context) {

super();

this.datas = datas;

this.context = context;

}

@Override

public int getCount() {

return datas.size();

}

@Override

public Object getItem(int position) {

return datas.get(position);

}

@Override

public long getItemId(int position) {

return position;

}

@Override

public abstract View getView(int position, View arg1, ViewGroup arg2);

}

其實我們在使用adapter的時候其他三個方法 返回值都是一樣的,因此這個可以在父類就處理好,唯一每個子類不知道實現(xiàn)的就是getView()方法的實現(xiàn),因此只要讓每個子類實現(xiàn)自己的getView()方法即可,因此就抽取成上面的MyBaseAdapter類了,現(xiàn)在寫一個類簡單實用這個框架

MainActivity.java

public class MainActivity extends Activity {

private ListView listview;

private ArrayList datas;

private LayoutInflater inflater;

private MyAdapter adapter;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

listview = (ListView) findViewById(R.id.listview);

inflater = LayoutInflater.from(this);

initData();

adapter = new MyAdapter(datas,this);

listview.setAdapter(adapter);

}

private void initData() {

datas = new ArrayList();

for(int i=0;i<100;i++){

datas.add("測試-------");

}

}

class MyAdapter extends MyBaseAdapter{

public MyAdapter(List datas, Context context) {

super(datas, context);

}

@Override

public View getView(int position, View converView, ViewGroup arg2) {

ViewHolder holder = null;

if(converView==null){

converView = inflater.inflate(R.layout.item, null);

holder = new ViewHolder();

holder.tvContent = (TextView) converView.findViewById(R.id.tvContent);

converView.setTag(holder);

}else{

holder = (ViewHolder) converView.getTag();

}

holder.tvContent.setText(datas.get(position));

return converView;

}

class ViewHolder{

TextView tvContent;

}

}

}

其實看開源的框架還是自己項目中的框架,一般框架都用到,接口,抽象類,接口回調(diào),泛型,繼承,內(nèi)部類等,多寫幾遍,其實框架也沒那么難

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

全球半導(dǎo)體封裝市場正向PLP、ECP等先進技術(shù)傾斜,以應(yīng)對5G和高性能計算需求。但國內(nèi)上規(guī)模的PLP廠商不超過五家,芯友微憑借技術(shù)創(chuàng)新和成本優(yōu)勢已占據(jù)一席之地。面對行業(yè)競爭和終端需求波動,張博威認(rèn)為:“機會永遠都在,關(guān)鍵...

關(guān)鍵字: PLP ECP 封裝 芯友微 XINYOUNG

在半導(dǎo)體封裝領(lǐng)域,BGA(球柵陣列)封裝技術(shù)憑借其高引腳密度、低電阻電感和優(yōu)異散熱性能,已成為高性能芯片的主流封裝形式。然而,隨著芯片集成度與功率密度的持續(xù)提升,BGA焊點中的裂紋與微孔缺陷逐漸成為制約產(chǎn)品可靠性的核心問...

關(guān)鍵字: BGA裂紋 半導(dǎo)體 封裝

上海2025年8月20日 /美通社/ -- 今日,全球領(lǐng)先的集成電路成品制造和技術(shù)服務(wù)提供商長電科技(600584.SH)公布了2025年半年度報告。財報顯示,今年上半年長電...

關(guān)鍵字: 封裝 長電科技 系統(tǒng)集成 汽車電子

完全無人化 —— 定義未來金標(biāo)標(biāo)準(zhǔn)的100%自動化診斷系統(tǒng) CURECA? 將于7月28日至31日在芝加哥首次亮相。 實現(xiàn)全球診斷數(shù)據(jù)的統(tǒng) —— 設(shè)立大數(shù)據(jù)平臺 S...

關(guān)鍵字: GEN 自動化 無人值守 SE

其他電腦(比如安卓手機/平板電腦)的屏幕壞了,你可能想在安排維修之前緊急訪問一些東西。你可以使用android的USB OTG功能(是的,幾乎每個android都支持這個功能,你可以將鼠標(biāo)和鍵盤連接到它)。

關(guān)鍵字: USB 鼠標(biāo) Android 樹莓派

廈門 2025年7月3日 /美通社/ -- 廈門市華師希平雙語學(xué)校在三年辦學(xué)歷程中取得積極進展,教育教學(xué)工作呈現(xiàn)良好態(tài)勢。 教育教學(xué)穩(wěn)步推進 中考表現(xiàn):2024年首屆中考總均分在全市表現(xiàn)良好;2025屆地...

關(guān)鍵字: BSP 人工智能 AI SE

與英偉達的技術(shù)合作致力加速生產(chǎn)制造的數(shù)字化轉(zhuǎn)型 舍弗勒全球工廠將通過AI解決方案的應(yīng)用加速制造工藝的革新,并提升產(chǎn)品質(zhì)量 舍弗勒憑借數(shù)十年在制造領(lǐng)域的技術(shù)積累,推動工業(yè)元宇宙持續(xù)發(fā)展 巴黎和赫...

關(guān)鍵字: 數(shù)字化 英偉達 SE NI

巴黎和首爾 2025年6月12日 /美通社/ -- 全球AI內(nèi)容創(chuàng)作先鋒SKAI Intelligence今日宣布,將于2025年巴黎VivaTech科技盛會正式發(fā)布全球首個完全基于NVIDIA Omniverse構(gòu)建...

關(guān)鍵字: AI NVIDIA SE RS

上海 2025年5月28日 /美通社/ -- 2024年12月15日,DEKRA德凱溫州低壓實驗室正式通過沙特電力公司(SEC)的全面評估,成功入選其認(rèn)可的獨立測試實驗室名...

關(guān)鍵字: 電力 SE 低壓電器 電力系統(tǒng)
關(guān)閉