日韩性视频-久久久蜜桃-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(适配器详解)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 视频精品久久 | 免费看黄色片的网站 | 午夜成人免费电影 | 久久国产精品一区 | 亚洲无吗在线 | 欧美日韩观看 | 久操视频在线播放 | 国产精品女优 | 国产成人91 | 日本黄色小片 | 国产视频入口 | av视觉盛宴| 亚洲免费播放 | 欧美系列第一页 | 黄色在线视频播放 | 免费观看污视频 | 亚洲一区综合 | 免费在线观看的黄色网址 | 欧美日韩二三区 | 亚洲国产成人精品久久久 | 免费中文字幕在线观看 | 夜夜操夜夜骑 | 在线色网| 国产欧美一区二区三区白浆喷水 | 久久久精品综合 | 奇米狠狠去啦 | 国产日韩精品一区二区三区 | 邵氏电影《金莲外传2》免费观看 | 国产jzjzjz丝袜老师水多 | 黄色国产一区 | 在线免费成人网 | 欧美sm极限捆绑bd | 日韩中文字幕视频在线观看 | 一边摸一边做爽的视频17国产 | 毛茸茸亚洲孕妇孕交片 | 亚洲xxxx天美 | 人人妻人人澡人人爽 | 福利精品视频 | 视频一区中文字幕 | 调教驯服丰满美艳麻麻在线视频 | 国产不卡免费视频 | 麻豆传媒一区二区三区 | 一级黄色大片免费观看 | 91精品系列 | 欧美视频免费看 | 在线观看特色大片免费网站 | 国产精品宾馆在线精品酒店 | 丰满少妇被猛烈进入一区二区 | 亚洲国产精品99 | 欧美一级片在线看 | 78m78成人免费网站 | 日本妇女毛茸茸 | 女同性αv亚洲女同志 | 中文字幕色站 | 处破痛哭a√18成年片免费 | 精品国产大片大片大片 | 中文字幕乱码av | 蜜桃在线一区二区三区 | 久久久久久久久久久久久国产 | 亚洲清纯国产 | 不用播放器av | 亚洲AV无码精品一区二区三区 | 日韩一二在线 | 国产做爰全过程免费视频 | 国产精品高潮呻吟AV无码 | 日本色片网站 | 亚洲人掀裙打屁股网站 | 欧美激情18p| 欧美贵妇videos办公室 | 日韩欧美三区 | 深夜视频一区二区 | 精品日韩一区二区 | 成人免费在线电影 | 男人天堂导航 | 欧美久久久久久久久 | 99久久99久久精品国产片 | 国产欧美一区二区三区视频在线观看 | 国产按摩一区二区三区 | 裸体裸乳免费看 | 人人干97 | 夜夜骑夜夜| 亚洲欧美中文日韩在线 | 色福利在线 | 亚洲视频高清 | www.五月天com| 肉丝美脚视频一区二区 | 国产九区 | 91精品国产高清一区二区三区蜜臀 | 成人国产精品一区 | 99热都是精品 | 亚洲丝袜在线视频 | 超碰在线看 | 国产在线小视频 | 国产怡红院 | 成人免费视频a | 偷拍网亚洲 | 欧美一区二区二区 | 欧美脚交 | 91青青青 |