日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 之UI 高级控件Adapter(适配器详解)

發布時間:2025/4/5 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 之UI 高级控件Adapter(适配器详解) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

了解適配器組件:

適配器是一個連接數據源和AdapterView的橋梁,通過它能有效的實現數據源與AdapterView的分離設置,使AdaptereView與數據的綁定更加簡便,修改更加方便。


AdapterView與Adapter

1.AadapterView即Adapter(適配器)控件,其內容通常是一個包含多項相同格式資源的列表,每次只顯示其中的一項

2.需要先把多項內容放入一個列表,然后將這個列表加載到Adapter控件中。

3.這個存放Adapter控件的內容的列表,在Android將稱為Adapter(適配器對象)




數組適配器對象具體配對過程:



實例代碼:

前臺展示:

<?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"><ListViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/listView_names"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/textView_empty"/></LinearLayout>


后臺邏輯:

package com.example.lenovo.adapter_demo;import android.provider.Settings; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast;import java.util.ArrayList; import java.util.List;public class MainActivity extends AppCompatActivity {//尋找控件private ListView listView_names;private TextView textView_empty;/***數據源*/private List<String> data = new ArrayList<>();/***適配器對象*/private ArrayAdapter<String> adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);this.listView_names = (ListView) this.findViewById(R.id.listView_names);this.textView_empty = (TextView) this.findViewById(R.id.textView_empty);//設置當ListView 控件中條目為空時顯示的View對象this.listView_names.setEmptyView(this.textView_empty);/*//第一種方式:String[] data = {"李云龍","楚云飛","張三","李四"};ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,//上下文對象android.R.layout.simple_list_item_1,//控件每一行顯示內容對應的TextView控件對象data//數據源);//設置適配器對象this.listView_names.setAdapter(adapter);*//*//方式二:數據源時集合,數據源通過調用適配器對象的addAll()方法添加到適配器對象中List<String> data = new ArrayList<>();for(int i = 0;i < 5;i++){data.add("向往"+i);}adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,data);*/ /*//方式三:通過調用ArrayAdapter 的靜態方法創建數組適配器對象(需要自己在res中添加xml文件)ArrayAdapter<CharSequence> adpter = ArrayAdapter.createFromResource(this,R.array.country,//數據源對應的資源id值android.R.layout.simple_list_item_1);*///注冊ListView條目點擊監聽器對象this.listView_names.setOnItemClickListener(new AdapterView.OnItemClickListener() {/*** 當ListView 條目被點擊時自動執行的方法* @param parent 事件源,當前就是ListView控件對象* @param view 用戶點擊條目對應的TextView控件對象* @param position 用戶點擊條目控件對應的索引值,索引從0開始* @param id 行號,一般和position相等* 需求:得到用戶點擊條目對應的內容*/@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position, long id) {//方式一:通過數據源中的索引值和ListView 控件中條目的索引值一一對應的關系獲取數據//String item = data.get(position);//方式二:通過調用適配器對象的getItem(position)獲取數據//String item = adapter.getItem(position);//方式三:通過調用適配器控件對象的getItemAtPosition(position)方法獲取數據//String item = parent.getItemAtPosition(position).toString();//方式四:通過用戶點擊條目對應的控件對象獲取數據String item = ((TextView)view).getText().toString();Toast.makeText(MainActivity.this,"item="+item,Toast.LENGTH_LONG).show();System.out.println("===OnItemClick(AdapterView<?> parent="+parent+",View view="+view+",int position="+position+",long id ="+id+")====");}});//注冊長按ListView_names.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener(){/*** 當用戶長按ListView 控件對象條目時自動調用的方法* @param parent 事件源,當前就是ListView控件對象* @param view 用戶點擊條目對應的TextView控件對象* @param postion 用戶點擊條目控件對應的索引值,索引從0開始* @parm id 行號,一般和postion相等* @return 如果事件被消費則返回true,相反則返回false*//* @Overridepublic boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {//刪除用戶點擊條目對象data.remove(position);adapter.notifyDataSetChanged();//更新用戶界面System.out.println("=====onItemLongClick(AdapterView<?> parent="+parent+", View view="+view+", int position="+position+", long id="+id+")=====");return true;//事件是否被消費掉,如果消費掉則返回true,此時就不會在觸發OnItemClick 方法了}});*/} }




總結

以上是生活随笔為你收集整理的android 之UI 高级控件Adapter(适配器详解)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久嫩草视频 | 久久超| 国产男女猛烈无遮挡免费视频动漫 | 激情成人综合 | 久久精品视频免费播放 | 中文日韩在线 | 丝袜人妻一区 | 美女穴穴| 亚洲69av | 三年电影在线观看 | 欧美视频区 | 国产奶头好大揉着好爽视频 | 激情小说在线观看 | 欧美性一级片 | 国产欧美精品区一区二区三区 | 色就色综合 | 欧美性大战久久久久久久蜜桃 | 日本少妇喂奶漫画 | 高清免费视频日本 | 日韩成人看片 | 免费91视频 | 青草视频污| 香蕉视频在线免费播放 | 成人精品久久久 | 自拍偷拍在线视频 | 久久精品国产亚洲av成人 | 双性受孕h堵精大肚生子 | 亚洲蜜桃av | 亚洲综合小说网 | 老司机在线永久免费观看 | 夜夜草网站 | 久久草视频 | 成年人看的黄色片 | 成人激情站 | 无码aⅴ精品一区二区三区浪潮 | 亚洲一区二区色图 | 欧美精品一区二区蜜臀亚洲 | 国模无码视频一区 | 精品福利视频导航 | 天天干,天天操,天天射 | 日韩电影一区二区 | 手机在线视频一区 | 毛片综合 | 精品一区二区三区国产 | 人妻少妇精品久久 | 女人张开腿让男人桶爽 | 99青草 | 中文字幕精品无码一区二区 | 国产污视频在线看 | 精品久久人妻av中文字幕 | 波多野结衣在线电影 | 中文字幕一区二区三区视频 | 九色福利| www.色哟哟 | 中文字幕在线看高清电影 | 深夜福利亚洲 | 黄色片一区 | 亚洲网站在线播放 | fc2ppv在线观看 | 亚洲毛片av| 在线观看自拍 | 国精产品乱码一区一区三区四区 | 免费成人国产 | 精品成人18 | www四虎影院 | 亚洲每日在线 | 亚洲女人天堂av | 老熟妇高潮一区二区三区 | 婷婷激情小说 | 国产大片aaa | 农村妇女愉情三级 | 一级特毛片 | 日韩欧美少妇 | 欧美性猛交xxx乱大交3蜜桃 | 噜噜色成人 | 亚洲29p| 欧美a级肉欲大片xxx | 精品一区二区久久久 | 僵尸叔叔在线观看国语高清免费观看 | 亚洲第一第二区 | 亚洲熟伦熟女新五十路熟妇 | 啊v视频在线 | 看黄色小视频 | 中文字幕观看av | 日韩国产中文字幕 | ass精品国模裸体欣赏pics | 牛牛视频在线观看 | 一级少妇片 | 女女综合网 | 伊人久久国产 | 国产主播福利 | 波多野结衣欲乱上班族 | 精品国产视频一区二区三区 | 二区视频在线 | 亚洲不卡一区二区三区 | 原神女裸体看个够无遮挡 | 亚洲精品www久久久久久 | 日本一级片免费看 | 裸体女视频 |