2011-10-29 73 views
2

我正在使用cwac-endless適配器,並且在嘗試加載更多結果時禁用點擊掛起視圖時遇到問題。關閉cwac無盡適配器的掛起視圖的點擊

這是我用於擴展EndlessAdapter的自定義適配器的構造函數。 R.layout.pending在加載時會膨脹。我想禁用單擊此列表項目。

public class MyEndlessAdapter extends EndlessAdapter{ 
    public MyEndlessAdapter(Context context, ListAdapter wrapped, int pendingResource) { 
     super(context, wrapped, R.layout.pending); 
    } 
} 

R.layout.pending XML是...

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:textColor="@color/white" 
    android:textStyle="bold" 
    android:gravity="center_vertical" 
    android:paddingLeft="6dip" 
    android:minHeight="?android:attr/listPreferredItemHeight" 
    android:text="Getting more results..." 
/> 

了我所是給機器人:可點擊= 「假」 爲TextView的,但它din't工作。

所以,我想知道是否有任何解決此問題的方法。

回答

3

ListViewlv

lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, 
      int position, long id) { 
      EndlessWordAdapter a = (EndlessWordAdapter) 
       parent.getAdapter(); 
      if(!(a.getItemViewType(position) == 
       Adapter.IGNORE_ITEM_VIEW_TYPE)) { 
       // Do something 
      } else { 
       // Ignore, pending view was clicked 
      } 
     } 
    }); 

禁用長按相同的方式工作。

+0

能否請你解釋一下Adapter.IGNORE_ITEM_VIEW_TYPE –

+0

[閱讀此文](http://developer.android.com/reference/android/widget/Adapter.html#IGNORE_ITEM_VIEW_TYPE)。我實際上閱讀了cwac-endless的[sources](https://github.com/commonsguy/cwac-endless/blob/master/src/com/commonsware/cwac/endless/EndlessAdapter.java),並指出'getItemViewType()'方法。看看它是如何工作的以及作者如何評論它。 –

+0

我不舒服,但我認爲'Adapter.IGNORE_ITEM_VIEW_TYPE'的意思是「這個視圖是在ListView中,但它不是主動/啓用/作爲其他項目」。 –

相關問題