2

Mark Myrphy aka @commonsware によって作成された Merge Adapter を既に使用している Activity に Pull To Refresh 機能を追加しようとしています。

コードは次のとおりです。

                     //get container PTR listview
                    PullToRefreshListView ptrLvContainer = (PullToRefreshListView) findViewById(R.id.lv_merge_fragment);                        


                    //create adapter for bottom list view
                    lvAdapter = new ListViewAdapter(this, R.layout.adapter_row, alResults);

                    mMergeAdapter = new MergeAdapter();

                    //Create 2 rows of custom views, that will be set above the lvAdapter
                    LinearLayout llRow1 = new LinearLayout(this);
                    //here we add picture to llRow1
                    LinearLayout llRow2 = new LinearLayout(this);
                    //here we add 2 pictures to llRow2

                    //Add everything to mergeAdapter
                    mergeAdapter.addView(llRow1);
                    mergeAdapter.addView(llRow2);
                    mergeAdapter.addAdapter(lvAdapter);

                    //set mergeAdapter to Pull To Refresh ListView
                    ptrLvContainer.setAdapter(mergeAdapter);

そして、これが lv_merge_fragment.xml です。

<?xml version="1.0" encoding="utf-8"?>
<com.handmark.pulltorefresh.library.PullToRefreshListView 
    xmlns:ptr="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android"
    ptr:ptrMode="pullDownFromTop"
    ptr:ptrDrawable="@drawable/cell_home_top" 
    android:id="@+id/lv__merge_fragment"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:cacheColorHint="#00000000"
    android:scrollbars="none"
    android:fadingEdge="none"
    android:divider="@android:color/transparent"

    android:listSelector="@android:color/transparent" >

</com.handmark.pulltorefresh.library.PullToRefreshListView>

https://github.com/chrisbanes/Android-PullToRefreshhttps://github.com/commonsguy/cwac-mergeを連携させようとしています。

残念ながら、問題があります。MergeAdapter は、PullToRefresh リストビュー全体を下から上に表示するものとして扱います。これにより、ヘッダー (PTR インジケーターとして使用される) が (ドラッグ後だけでなく) 常に表示されます。私がそれを機能させる方法はありません.libsの1つを書き直すことは、この問題を解決するのが難しい方法です. Android で、Pull to Refresh ライブラリを使用して CommonsWare MergeAdapter を正常に使用した人はいますか? 私が達成しようとしていることをよりよく理解するために添付されたスクリーンショット。基本的に、PTR アクションはすべてのビューをリロードする必要があります。

そして、これが私がそれをどのように見せたいか/どのように機能させたいかです: ここに画像の説明を入力

助けてくれてありがとう。

4

0 に答える 0