導航:首頁 > 操作系統 > androidlistview自動載入

androidlistview自動載入

發布時間:2022-06-24 20:15:28

① 如何在android開發中動態載入的list列表數據

Android中載入list列表數據主要是通過Adapter實現,可用顯示列表的控制項如下:

  1. Listview

  2. GridView

  3. ExpandListview

顯示具體的數據需要通過Adapter實現,Android目前有4種Adapter:

  1. ArrayAdapter

  2. SimpleAdapter

  3. SimpleCursorAdapter

  4. BaseAdapter ( 自定義Adapter)

具體操作步驟 ( 以自定義Adapter為例):

  1. 在xml中定義Listview布局

  2. 在代碼中通過ID找到Listview控制項

  3. 構建Adapter對象,新建一個類繼承自BaseAdapter,重寫它的四個方法,具體如下代碼

  4. 構造好適配器後設置Listview的adapter對象為新建的適配器,界面即可顯示數據

  5. 在數據變動的地方,只需要調用adapter的notifyDataSetChanged方法即可刷新界面


  6. java">packagecom.beryl.gougou;

    importandroid.content.Context;
    importandroid.view.LayoutInflater;
    importandroid.view.View;
    importandroid.view.ViewGroup;
    importandroid.widget.BaseAdapter;

    importjava.util.List;

    /**
    *Createdbyyton16/11/14.
    */

    {
    privateList<String>datalist;
    privateLayoutInflaterinflater;

    publicMyAdapter(Contextcontext,List<String>datalist){
    this.datalist=datalist;
    inflater=LayoutInflater.from(context);
    }

    @Override
    publicintgetCount(){
    returndatalist.size();
    }

    @Override
    publicObjectgetItem(intposition){
    returndatalist.get(position);
    }

    @Override
    publiclonggetItemId(intposition){
    returnposition;
    }

    @Override
    publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
    //此處參考網上的view緩存機制,示例demo不多說明
    returnnull;
    }


    }

② android 開發 listview下拉載入的實現

寫一個自定義ListView控制項,該ListView中有正在下拉,正在刷新,和釋放下拉幾個狀態,然後將正在刷新這個狀態作為介面供外部實現回調,在外部Activity或則fragment中實現這個介面監聽正在刷新這個動作,然後啟用一個線程取得ListView最底部的數據id請求伺服器,然後伺服器查詢大於id且limit 20的數據,客戶端線程這邊得到數據後,通知handle更新UI就行了。關於這個自定義ListView網上有很多源碼。http://download.csdn.net/detail/wjw626419020/4699165

③ Android ListView 動態的載入頁面

數據+adapter+listview控制項

adapter隨便寫
這個是自定義方式的
就是說listview可以放任何你想放的東西
android內置了一些listview的格式
要在adpter里導入就行
比如 android.R.layout.simple_list_item_single_choice
很多的

這個就是那種一行一條數據
右邊一個單選框的
整個listview只能單選的那種
想實現什麼樣的方式就再adapter里寫好
然後數據通過adpter傳過去
給listview就好
listview的布局在xml里寫

④ android listview怎麼實現上滑時一到點就自動載入

第一種是直接繼承ListView,通過addHeaderView和addFooterView來實現,這個方法相對來說簡單,比如QQ的好友列表就是利用這種來實現的,這種方法將在之後的第(二)節中進行講解。
第二種方法是通過繼承布局來實現,通過addView來實現,好處在於WebView、ScrollView都可以利用這種思維進行實現,沒有第一種方法的局限性,實現起來相對復雜點,比如微博主界面就是利用這種方法來實現(可以通過刷新時,滑動條的位置來判斷出來),第二種方法也是今天我接下來講的內容。

針對第二種方法,布局結構圖如下:

通過上圖可以知道,Header和Footer在正常狀態下是處於屏幕之外(通過設置padding),只有在發生下拉和上拉的時候,才會顯示在屏幕可視范圍中(通過scrollTo),所以可以知道,在繼承LinearLayout之後,通過把Header、ListView、Footer添加到布局中,然後分別為Header、Footer實現相應的界面布局,為各部分實現相應的響應機制即可。還需要注意一點是,對於ListView還有一個是「查看更多」的Footer,這個應該要通過addFooterView實現在ListView裡面。

⑤ android如何給listview添加動態載入數據

更改你所提供的數據的集合,然後刷新一下
adapter.notifyDataSetChanged();
ok了,,

⑥ android中listview的下拉刷新上拉載入是怎麼實現的

這是兩個分開的部分。如果你是新手,先一個一個來。
我只能跟你說一下思路,具體的東西你在網上查查,不行再問我,新手的話慢慢來。
1.
下拉刷新,獲取listview的下拉時間顯示header,然後調用更新數據的介面就可以了。
2.
上啦載入,是分頁獲取數據,獲取listview的是否拉到最底,如果拉倒最底,獲取數據,讓後list的數據添加獲取的數據,更新adapter就可以了。

⑦ android中listview載入更多

snakeBody = 1;str = "上下左右方向鍵控制 P鍵暫停...";
str1 = "現在的長度為:" + snakeBody;key = true;flag = 1;spe
ed = 700;rand = new Random();list = new ArrayList<Point>();list
Body = new ArrayList<Point>();x = 5;y = 5;
list.add(new Point(x, y));listBody.add(list.get(0));

⑧ 求android中ListView動態載入(大量)數據的詳細代碼啊~ 最好是一個項目~ 謝謝~

你的數據類型是什麼?我這里得到的是String[][]類型的數據result 全手打 可能會有錯
ListView lv=(ListView)findViewById(R.id.lv)
ArrayList<HashMap<String,Object>> list = new ArrayList<HashMap<String,Object>>();
SimpleAdapter adapter = new SimpleAdapter(context,list,R.layout.xx,new String[]{"test1","test2"},new int[]{R.id.text1,R.id.text2});
for(int i=0;i<result.length;i++){HashMap<String,Object> map = new HashMap<String,Object>();
map.put("test1",result[ i ][0]);
map.put("test2",result[ i ][1]);
list.add(map);}
lv.setAdapter(adapter);

⑨ android listview為什麼會自動刷新

使用handler+線程動態刷新界面的一般順序是這樣的:
線程:更新數據,handler:刷新界面
啟用一個新的線程去獲取遠程伺服器的數據,然後通知handler去跟新ListView
我沒有看到你在handler裡面做了什麼更新ListView的操作,你在裡面載入數據是不正確的,載入數據應當放在Thread裡面,你的代碼存在很多問題,特別是這句:handler.post(runnable);你通過延遲時間來等待數據的載入完成,這是很不科學的。
可以參考成這樣:


Handler handler = new Handler() {
public void handleMessage (Message msg) {//此方法在ui線程運行
switch(msg.what) {
case MSG_SUCCESS:
list.setAdapter(simpleAdapter);
break;

case MSG_FAILURE:

break;
}
}
};


在Thread裡面更新數據:


Runnable runnable = new Runnable() {

@Override
public void run() {//run()在新的線程中運行
final String urlPath = "http://market.huobi.com/staticmarket/ticker_btc_json.js";
String jsonString = getJsonContent.getJsonContent(urlPath);
//解析string類型的json數據並返回類型為item的一個對象中
item item = JsonTools.getItem(jsonString);
if(item!=null){
listItem.put("high",items.getHigh());
istItem.put("low",items.getLow());
listItem.put("last",items.getLast());
listItem.put("buy",items.getBuy());
listItem.put("sell",items.getSell());
listItems.add(listItem);
}

//將item對象返回到handler當中
handler.obtainMessage(MSG_SUCCESS,item).sendToTarget();

}
};


在onCerat中SimpleAdapter simpleAdapter = new SimpleAdapter(this, listItems,
R.layout.item,
new String[] { "high", "low", "last","buy","sell" },
new int[] { R.id.high, R.id.low, R.id.last,R.id.buy,R.id.sell });
ListView list = (ListView) findViewById(R.id.listView1);


具體細節你可以在調整調整。

⑩ android listview怎麼自動刷新

0、本質上是listview綁定Adapter,Adapter關聯List,因此List變化後導致Adapter同步變化;再通過調用adapter.notifyDataSetChanged();方法使得listview界面自動更新。
操作:
1、List<String> strName = new ArrayList<String>();//實際的數據源
2、Adapter adapter = new ArrayAdapter<String>(context,
R.layout.xmlforitem, strName);//適配器,其中 R.layout.xmlforitem是列表中每一項的布局,可以用默認的也可自建,strName則是將數據源綁定到適配器
3、listView.setAdapter(adapter);//將適配器綁定到列表顯示控制項ListView;
4、strName.add("TEST ONE");//增加一項,引起list變化,Adapter也隨之變化;
5、adapter.notifyDataSetChanged();//調用notifyDataSetChanged();更新適配器,ListView會自動刷新,notifyDataSetChanged()方法可能需要在UI線程中調用,建議自行測試;

6、數據增加可能引起內存變化,需防內存溢出;
7、其他。

閱讀全文

與androidlistview自動載入相關的資料

熱點內容
ipad郵件無法連接發件伺服器地址 瀏覽:60
php接收websocket 瀏覽:563
碧藍航線如何查賬號伺服器 瀏覽:834
msx命令 瀏覽:749
怎麼購買app內購 瀏覽:489
vivo手機怎麼把安卓系統提示關閉 瀏覽:963
汽油分配控制單片機 瀏覽:578
python字典最大值最小值求和 瀏覽:280
php7pdo擴展 瀏覽:940
粉筆app如何看行測 瀏覽:816
如何舉報不正當app 瀏覽:254
智能家居演算法組 瀏覽:55
解壓動畫壽司 瀏覽:519
python3怎麼連接mysql 瀏覽:424
程序員曬出一段代碼 瀏覽:274
python爬蟲崔慶才 瀏覽:766
u8伺服器如何開啟 瀏覽:883
java設置jtable 瀏覽:750
改造非牛頓流體解壓 瀏覽:152
如何加密筆記本里的文件 瀏覽:903