-
ontouchevent
查看全部 -
監(jiān)聽器的作用
查看全部 -
//1.新建適配器 //2.將數(shù)據(jù)源放入適配器 //3.視圖加載適配器 ListView?lv?=?(ListView)findViewById(R.id.list_view); String[]?str?=?{"一","二","三"}; ArrayAdapter<String>?arr?=?new?ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,str); lv.setAdapter(arr);
查看全部 -
GridView關(guān)鍵屬性:
android:hotizontalSpacing 兩列之間的間距
android:verticalSpacing 兩行之間的間距
android:numColumns 每行顯示幾列
查看全部 -
DatePicker對(duì)象以init()這個(gè)方法來指定DatePicker初始的年、月、日及OnDateChangedListener()的事件;而TimePicker對(duì)象則是直接以setOnTimeChangedListener()事件來處理時(shí)間改變時(shí)程序要做的操作。
DatePickerDialog與TimePickerDialog與前面這兩種類型的對(duì)象的差別在于DatePicker與TimePicker是直接顯示在屏幕畫面上,而DatePickerDialog與TimePickerDialog對(duì)象則是以彈出Dialog的方式來顯示
查看全部 -
SimpleAdapter的構(gòu)造方法中參數(shù)很多,寫的時(shí)候不要著急,要對(duì)應(yīng)好布局文件中的id
監(jiān)聽器和適配器是通用與很多android空件上,不局限于ListView
通過setOnScrollListener;監(jiān)聽用戶手指滑動(dòng)的動(dòng)作,其實(shí),我們常見的列表下拉刷新就是依此拓展出來的!
運(yùn)用notifyDatasetchanged,動(dòng)態(tài)更新視圖中所包含的數(shù)據(jù)
查看全部 -
監(jiān)聽器
作用:
Android提供了很多事件監(jiān)聽器,監(jiān)聽器主要是為了去響應(yīng)某個(gè)動(dòng)作(動(dòng)作的發(fā)起者可以是用戶的操作也可以是android系統(tǒng)本身),我們可以通過監(jiān)控這種動(dòng)作行為,來完成我們需要的程序功能。
OnItemClickListener:
可以處理視圖中單個(gè)條目的點(diǎn)擊事件
OnScrollListener:
監(jiān)聽滾動(dòng)的變化,可以用于視圖在滾動(dòng)中加載數(shù)據(jù)
監(jiān)聽器是程序和用戶(或者系統(tǒng))交互的橋梁
實(shí)現(xiàn)過程:
視圖中直接設(shè)置監(jiān)聽器,在相關(guān)的實(shí)現(xiàn)方法中補(bǔ)充需要的代碼即可
查看全部 -
IDE: Android Stuidio 3.2.1
ListViewMainActivity.java
public?class?ListViewMainActivity?extends?Activity?{ ????private?ListView?listView; ????private?ArrayAdapter<String>?arrayAdapter; ????private?SimpleAdapter?simpleAdapter; ????private?List<Map<String,Object>>?dataList; ????@Override ????protected?void?onCreate(Bundle?savedInstanceState)?{ ????????super.onCreate(savedInstanceState); ????????setContentView(R.layout.activity_main); ????????/** ?????????*?Adapter ?????????*?1.?新建一個(gè)數(shù)據(jù)適配器 ?????????*????ArrayAdapter(上下文,當(dāng)前l(fā)istView加載的每一個(gè)列表項(xiàng)對(duì)應(yīng)的布局文件,數(shù)據(jù)源) ?????????*?2.?適配器加載數(shù)據(jù)源 ?????????*?3.?視圖(ListView)加載適配器 ?????????*/ ????????//listView?=?findViewById(R.id.listView); ????????//String[]?arrayData?=?{"imooc1",?"imooc2",?"imooc3",?"imooc4"};?//?適配器用到的數(shù)據(jù) ????????//新建的數(shù)據(jù)適配器 ????????//arrayAdapter?=?new?ArrayAdapter<String>(this,?android.R.layout.simple_list_item_1,?arrayData); ????????//視圖(ListView)加載適配器 ????????//listView.setAdapter(arrayAdapter); ????????/** ?????????*?SimpleAdapter ?????????*?1.?新建一個(gè)數(shù)據(jù)適配器 ?????????*????SimpleAdapter(context,data,?resource,?from,?to); ?????????*?context:?上下文 ?????????*?data:?數(shù)據(jù)源,一個(gè)Map所組成的List集合, ?????????*????????每一個(gè)Map都會(huì)去對(duì)應(yīng)ListView列表中的一行 ?????????*????????每一個(gè)Map(鍵-值對(duì))中的鍵必須包含所有在from所指定的鍵 ?????????*?resource:列表項(xiàng)的布局文件ID ?????????*?from:Map中的鍵名 ?????????*?to:?綁定數(shù)據(jù)視圖中的ID,與From成對(duì)應(yīng)的關(guān)系 ?????????*/ ????????listView?=?findViewById(R.id.listView); ????????dataList?=?new?ArrayList<Map<String,Object>>(); ????????simpleAdapter?=?new?SimpleAdapter(this,?getdata(),?R.layout.item,?new?String[]{"picture","itemText"},?new?int[]{R.id.picture,?R.id.itemText}); ????????listView.setAdapter(simpleAdapter); ????} ????private?List<Map<String,Object>>?getdata(){ ????????for?(int?i?=?0;?i?<?20;?i++)?{ ????????????Map?map?=?new?HashMap(); ????????????map.put("picture",R.mipmap.ic_snowman); ????????????map.put("itemText",?"Snowman"+i); ????????????dataList.add(map); ????????} ????????return?dataList; ????} }
activity_main.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:orientation="vertical"> ????<ListView ????????android:id="@+id/listView" ????????android:layout_width="match_parent" ????????android:layout_height="wrap_content"> ????</ListView> </LinearLayout>
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:orientation="horizontal"> <ImageView ????android:id="@+id/picture" ????android:layout_width="wrap_content" ????android:layout_height="wrap_content" ????android:layout_marginLeft="15dp" ????android:src="@mipmap/ic_snowman"> </ImageView> <TextView ????android:id="@+id/itemText" ????android:layout_width="wrap_content" ????android:layout_height="wrap_content" ????android:textSize="20dp" ????android:textColor="#0000f0" ????android:text="Snowman"/> </LinearLayout>
查看全部 -
ListViewMainActivity.java
public?class?ListViewMainActivity?extends?Activity?{ ????private?ListView?listView; ????private?ArrayAdapter<String>?arrayAdapter; ????private?SimpleAdapter?simpleAdapter; ????private?List<Map<String,Object>>?dataList; ????@Override ????protected?void?onCreate(Bundle?savedInstanceState)?{ ????????super.onCreate(savedInstanceState); ????????setContentView(R.layout.activity_main); ????????/** ?????????*?Adapter ?????????*?1.?新建一個(gè)數(shù)據(jù)適配器 ?????????*????ArrayAdapter(上下文,當(dāng)前l(fā)istView加載的每一個(gè)列表項(xiàng)對(duì)應(yīng)的布局文件,數(shù)據(jù)源) ?????????*?2.?適配器加載數(shù)據(jù)源 ?????????*?3.?視圖(ListView)加載適配器 ?????????*/ ????????listView?=?findViewById(R.id.listView); ????????String[]?arrayData?=?{"imooc1",?"imooc2",?"imooc3",?"imooc4"};?//?適配器用到的數(shù)據(jù) ????????//新建的數(shù)據(jù)適配器 ????????arrayAdapter?=?new?ArrayAdapter<String>(this,?android.R.layout.simple_list_item_1,?arrayData); ????????//視圖(ListView)加載適配器 ????????listView.setAdapter(arrayAdapter); ????} }
activity_main.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:orientation="vertical"> ????<ListView ????????android:id="@+id/listView" ????????android:layout_width="match_parent" ????????android:layout_height="wrap_content"> ????</ListView> </LinearLayout>
查看全部 -
string查看全部
-
此方法重點(diǎn)掌握
查看全部 -
Fragment和Activity相互通信的方法
查看全部 -
適配器的notifyDataSetChanged用于數(shù)據(jù)的刷新。查看全部
-
動(dòng)態(tài)加載fragment查看全部
-
多個(gè)fragment切換查看全部
-
多個(gè)fragment查看全部
-
多個(gè)fragment查看全部
-
ListView相關(guān)的適配器,監(jiān)聽器
查看全部 -
廣播接收者相當(dāng)于全局事件的接收器
查看全部 -
新的盲點(diǎn),新的方法,
在打開彈出框,不管是dialog還是popupWindow等等的彈出框時(shí),
先判斷是否為空==null
當(dāng)為空的時(shí)候開始部署
同樣在關(guān)閉時(shí)先判斷是否為空并且正在顯示
當(dāng)都滿足時(shí) 執(zhí)行.dismiss()方法
并且將其制空==null
查看全部 -
adapter.notifyDataSetChanged()
通知UI數(shù)據(jù)改變
查看全部 -
Content Provider 管理數(shù)據(jù)庫訪問以及程序內(nèi)或程序間數(shù)據(jù)共享的
<provider android:name="com.example.manifest.provider">
</provider>
查看全部
舉報(bào)