編輯:關於Android編程
ListView在安卓App中非常常見,幾乎每一個App都會有涉及,比如QQ消息列表,或者是
通訊錄還有就是酷我音樂的歌曲列表都是ListView、繼承ListView。所以非常重要。
這就是ListView
ArrayAdapter<喎?/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPjxiciAvPg0Kyv2+3dS0ysfK/b7du/LV37yvus+jrLHIvc+88rWlPGJyIC8+DQqyvL7WzsS8/jwvcD4NCjxwcmUgY2xhc3M9"brush:java;">
主活動: 運行效果: SimpleAdapter 主活動: 運行效果: 實現AdapterView.OnItemClickListener, AbsListView.OnScrollListener 實現點擊事件的方法 運行效果: 然後就是滾動事件,所以增加幾個選項: 效果: AbsListView.OnScrollListener滾動事件 運行效果: 為了更加直觀的顯示,可以刷新ListView的列表項。 運行效果:
package com.xieth.as.listviewdemo;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
public class MainActivity extends AppCompatActivity {
private ListView listView = null;
private ArrayAdapter
數據源是集合裡面包含著哈希表。
那麼使用SimpleAdapter就不使用安卓自帶的布局,我們要自定義一個布局文件。
listview_item.xml
package com.xieth.as.listviewdemo;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
private ListView listView = null;
private ArrayAdapter
監聽ListView的Item選項事件
選項點擊事件和ListView滾動事件
// 監聽事件
listView.setOnItemClickListener(this);
listView.setOnScrollListener(this);
// 點擊事件
@Override
public void onItemClick(AdapterView parent, View view, int position, long id) {
String text = listView.getItemAtPosition(position)+"";
Toast.makeText(this, "position->" + position + "\ntext->" + text,Toast.LENGTH_SHORT).show();
}
private List
首先呢,ListView的滾動有三種狀態
1:靜止狀態,SCROLL_STATE_IDLE
2:手指滾動狀態,SCROLL_STATE_TOUCH_SCROLL
3:手指不動了,但是屏幕還在滾動狀態,也就是力道還在,依靠慣性。SCROLL_STATE_FLING
//滾動事件
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
switch (scrollState) {
case SCROLL_STATE_FLING:
Toast.makeText(this, "慣性在動", Toast.LENGTH_SHORT).show();
break;
case SCROLL_STATE_IDLE:
Toast.makeText(this, "停止滑動", Toast.LENGTH_SHORT).show();
break;
case SCROLL_STATE_TOUCH_SCROLL:
Toast.makeText(this, "手指在滑動", Toast.LENGTH_SHORT).show();
break;
}
}
可以看到,我首先是用鼠標點住滑動,然後停止,第二次是用力拉動,分別打印出手指滑動,慣性在動,到
最後的停止滑動。
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
boolean f = false;
switch (scrollState) {
case SCROLL_STATE_FLING:
break;
case SCROLL_STATE_IDLE:
// 判斷滾動到底部
if (view.getLastVisiblePosition() == (view.getCount() - 1)) {
f = true;
}
break;
case SCROLL_STATE_TOUCH_SCROLL:
if (f) {
Map
明顯看到刷新並且成功增加選項,這就是滾動事件的監聽。
首先建議一個工程 HelloJni如下圖:按照默認的配置下一步,直到完成 。 如下圖操作,點擊windows菜單-》Prefrence菜單:&nbs
有時候利用android的TextView顯示中文跟數字的組合會對不齊,如下面截圖,文字還沒有到達屏幕右邊就開始換行了為了解決這個文字,自己子定義了一個TextView的
上一篇講了activity的創建和啟動,這一篇,我們來講講activity的數據傳遞 activity之間的數據傳遞,這裡主要介紹的是activity之間簡單數據的傳遞,
1.Android制定了一條簡單的原則:只允許UI線程(亦即主線程)修改Activity中的UI組件。當一個程序第一次啟動時,Android會同時啟動一條主線程,主線程主