導航:首頁 > 操作系統 > androidgridview上拉載入

androidgridview上拉載入

發布時間:2022-10-06 17:28:19

1. 怎麼向xlistview中添加view實現上拉載入,下拉刷新

注意事項:
1、XListView因為添加了Header,會導致存儲的數據+1,所以賦值時需要position-1。補充:當去掉HeaderView時,position不用-1。
2、提個建議:上拉載入更多,最好在onCreate()中就執行setAdapter,然後不論是空數據、還是有數據,只用更新適配器就行了。
一、XListView
1、下載
gitHub的地址。或者從這兒下。
2、用法
導入圖中的me.maxwin.view包
提供了兩個介面:
IXListViewListener:觸發下拉刷新,上拉載入更多。實現此介面時,onLoadMore()用來上拉載入更多,onRefresh()用來下拉刷新。
OnXScrollListener:和原生的OnScrollListener一樣,但是在header/footer回滾時也會觸發。
幾個常用方法:
setPullRefreshEnable(boolean enable):是否允許下拉刷新

setPullLoadEnable(boolean enable):是否允許上拉載入更多

stopRefresh():停止刷新,重置header view

stopLoadMore():停止載入更多,重置footer view

請求到數據後停止刷新停止載入更多。
setRefreshTime(String time):設置上次刷新的時間

onLoadMore():載入更多時調用的方法。注意第一次進入時不會調用此方法。

onRefresh():下拉刷新時調用的方法。

3、代碼中怎麼體現
1)實現IXListViewListener介面->2)實現上拉刷新和下拉載入更多的數據變更->3)更新header view和footer view,並設置更新時間。

[java] view plain
//1、實現IXListViewListener介面
mListView.setXListViewListener(this);
//2.1 onRefresh中實現下拉刷新的數據載入
@Override
public void onRefresh() {
//請求數據
//更新界面顯示

[java] view plain
onLoad();
}//2.2 onLoadMore中實現上拉載入更多的數據載入

[java] view plain
@Override
public void onLoadMore() {
//請求數據

//更新界面顯示

[java] view plain
onLoad();

}//3、載入完數據後,復位header view和footer view,並設置更新的時間。

[java] view plain
private void onLoad() {
mListView.stopRefresh();mListView.stopLoadMore();
mListView.setRefreshTime("剛剛");
}
4、xml注意事項
當將XListView嵌入到LinearLayout中時,XListView占滿全屏時不能再載入更多。上錯誤代碼:

[java] view plain
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/takemain_ll"
android:layout_below="@id/takemain_l"
android:orientation="vertical" >

<cn.bestbang.rable_consumer_goods.utils.MyExXListView
android:id="@+id/home_list"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</cn.bestbang.rable_consumer_goods.utils.MyExXListView>
</LinearLayout>
5、去ScrollView共用
這種情況,重寫XListView會導致上拉載入時頻繁的報錯:適配器未更新,不知道咋解決。

二、PullToRefresh
大部分內容轉自鴻洋的博客:http://blog.csdn.net/lmj623565791/article/details/38238749
1、整體了解:
首先,github上的這個控制項:pull-to-refresh,例子中的功能非常強大,可不止支持ListView和GridView。在下載前,先說下項目結構。github上下載的例子,是依賴於三個項目的,一個基本的library_pullToRefresh(自己要引用到的項目。怎麼引用?自己的項目右鍵->Properties->Android,在Is Library中選擇路徑),一個基本的PullToRefreshViewPager,一個PullToRefreshListFragment。
2、用法
1)設置PullToRefreshListView支持上拉載入和下拉刷新->2)初始化控制項,設置適配器->3)設置監聽事件。在監聽事件中處理上拉載入更多和下拉刷新,設置最後更新的時間。

[java] view plain
<pre name="code" class="java"><pre name="code" class="java">//1、支持上拉載入和下拉刷新
mPullRefreshListView.setMode(Mode.BOTH);

//2、設置適配器 mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mListItems); mPullRefreshListView.setAdapter(mAdapter); //3、設置監聽器mPullRefreshListView.setOnRefreshListener(new OnRefreshListener2<ListView>(){ @Override public void onPullDownToRefresh( PullToRefreshBase<ListView> refreshView){ // 顯示最後更新的時間 refreshView.getLoadingLayoutProxy().setLastUpdatedLabel(label); //這里寫下拉刷新的任務 new GetDataTask().execute(); } @Override public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView){ // 顯示最後更新的時間 refreshView.getLoadingLayoutProxy().setLastUpdatedLabel(label);
[java] view plain
//這里寫上拉載入更多的任務
new GetDataTask().execute(); } });

3、屬性介紹
1)ptr:ptrMode="both"支持上拉載入和下拉刷新。disabled禁用下拉刷新和上拉載入。pullFromEnd僅支持上拉載入。manualOnly只允許手動觸發。當然通過代碼也可設置:lv.setMode(Mode.BOTH);
2)ptr:trAnimationStyle="flip" flip:翻轉動畫;rotate:旋轉動畫。
3)ptr:ptrDrawable="@drawable/ic_launcher"設置圖標
4)刷新的時候,是否允許ListView或GridView滾動。覺得為true比較好。5)ptrListViewExtrasEnabled 決定了Header,Footer以何種方式加入mPullRefreshListView,true為headView方式加入,就是滾動時刷新頭部會一起滾動。
4、自定義下拉指示器文本內容等效果:
在初始化完成PullToRefreshListView後,通過lv.getLoadingLayoutProxy()可得到一個ILoadingLayout對象,這個對象可設置各種指示器中的樣式、文本等。

[java] view plain
ILoadingLayout startLabels = mPullRefreshListView
.getLoadingLayoutProxy();
startLabels.setPullLabel("你可勁拉,拉...");// 剛下拉時,顯示的提示
startLabels.setRefreshingLabel("好嘞,正在刷新...");// 刷新時
startLabels.setReleaseLabel("你敢放,我就敢刷新...");// 下來達到一定距離時,顯示的提示
默認是上拉和下拉的字同時改變的,如果希望單獨改變呢:

[java] view plain
private void initIndicator(){
ILoadingLayout startLabels = mPullRefreshListView
.getLoadingLayoutProxy(true, false);
startLabels.setPullLabel("你可勁拉,拉...");// 剛下拉時,顯示的提示
startLabels.setRefreshingLabel("好嘞,正在刷新...");// 刷新時
startLabels.setReleaseLabel("你敢放,我就敢刷新...");// 下來達到一定距離時,顯示的提示

ILoadingLayout endLabels = mPullRefreshListView.getLoadingLayoutProxy(
false, true);
endLabels.setPullLabel("你可勁拉,拉2...");// 剛下拉時,顯示的提示
endLabels.setRefreshingLabel("好嘞,正在刷新2...");// 刷新時
endLabels.setReleaseLabel("你敢放,我就敢刷新2...");// 下來達到一定距離時,顯示的提示
}

2. Android 載入GridView,UI阻塞問題

先開線程下載圖片。等圖片下載完成以後,通過SendMessage的方式通知主線程的Handler更新GridView。

3. android的gridview載入圖片一多了就卡,甚至程序OMM溢出

造成這個的原因可能有幾個方面:

1、圖片的體積過大,導致載入幾張就可能oom,解決辦法是優化圖片以後再載入
2、在android3.0以下的機器上,bitmap資源需要自己手動釋放,就是需要自己監聽滑動事件釋放不在屏幕中圖片所在的資源
不過實際項目開發中,一般用的都是第三方的圖片載入框架,圖片池、異常的捕獲和處理等都處理好了,推薦使用Glide即可

4. android通過Gridview點擊的item獲取對應數據並載入到另一個gridview里

第一個GridView設置監聽

gridView1.setOnItemClickListener(newOnItemClickListener(){
@Override
publicvoidonItemClick(AdapterView<?>parent,Viewview,intposition,longid){
//TODOAuto-generatedmethodstub

}
});

回調方法里第三個參數就是你當前點擊Item的位置了,根據這個位置從數據源里把數據取出來,載入到gridView2里就行了

5. SCrollView嵌套GridView,ScrollView如何實現上啦載入下拉刷新

gridview
本來就可以上下滑動
幹嘛還要加一個豎直滑動控制項了?

6. android gridview 最後如何加一個載入更多

Gridview動態載入釋放圖片資源在Android開發App中經常會用到ListView和Gridview的item中載入圖片顯示的情況。但是如果圖片多了就會遇到內存溢出的情況,及時你對圖片做了縮放處理但是圖片張數多了還是一樣的會內存溢出。所以這個時候就需要我們動態

7. android gridView分頁誰做過

這種分頁也就是重寫onkeyDown等方法判斷Y方向的值 判斷是否載入新的一頁,是上一頁還是下一頁

8. GridView只加上拉載入更多怎麼做

請將問題描述清楚,好為你解答。


若是頁面顯示時候GridView就顯示好數據,那要在頁面的Load事件里寫:

DataTable dt=(獲取數據);

GridView1.DataSource=dt;

GridView1.DataBind();


若是GridView在頁面中動態創建,有兩種方法:

  1. 動態生成GridView;

  2. 先將GridView控制項放在頁面中並設置Visible屬性為false,在需要的時候再將Visible屬性設為true;

閱讀全文

與androidgridview上拉載入相關的資料

熱點內容
交換的一天女模特 瀏覽:335
牛客網編程題答案 瀏覽:60
童玲主演的古裝電影 瀏覽:302
法國電影小男孩和白狗 瀏覽:770
大尺度吻戲推薦電影 瀏覽:97
最新巨獸電影推薦 瀏覽:925
國語版電影在線觀看 瀏覽:591
極線殺手木屋女演員 瀏覽:618
寧波程序員接私活小程序 瀏覽:492
小六壬pdf 瀏覽:14
怎麼通過快捷指令隱藏手機app 瀏覽:610
方舟手游如何辨別優質伺服器 瀏覽:117
pdf林徽因傳 瀏覽:528
國產區小電影網址 瀏覽:102
西班牙大尺度男男 瀏覽:609
消先的眼角膜電影 瀏覽:434
編譯原理課設項目簡介 瀏覽:921
日本《失樂園》無刪減 瀏覽:227
更新最快的電視劇網站 瀏覽:597
啟動app的廣告怎麼關 瀏覽:850