0
我正在嘗試使用此處提供的TouchListView:https://github.com/commonsguy/cwac-touchlist。這是一個用於創建可重新訂購列表的Android庫。以編程方式創建TouchList
我可以運行演示很好,但我找不到在Java中創建TouchList的方法,即無需在XLM佈局中定義它。
下面是演示代碼:
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
TouchListView tlv=(TouchListView)getListView();
adapter=new IconicAdapter();
setListAdapter(adapter);
tlv.setDropListener(onDrop);
tlv.setRemoveListener(onRemove);
}
這是一個ListActivity裏面。這工作正常。現在在這裏,我試圖避免使用ListActivity:
...
TouchListView tlv = new TouchListView(this, null);
adapter=new IconicAdapter();
setListAdapter(adapter);
...
沒有運氣。
LayoutInflater inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);
TouchListView tlv = (TouchListView) (inflater.inflate(R.layout.touchlistview, null));
也不管用。
在這兩種情況下,列表顯示正確,但我無法移動項目。
有什麼想法?
那麼,第一種情況將不起作用,因爲有各種各樣的屬性(請參閱'demo /'中的'tlv')。第二個可能會工作,取決於'R.layout.touchlistview'的內容,如果最終將'TouchListView'添加到沿着該行的某個父容器中。 – CommonsWare
謝謝。問題是我的grabber id是錯誤的:/順便說一句,有沒有辦法在列表中有不同大小的項目?我有一些多行條目,只要我移動一些東西,它們就會重新調整到單行。 – MasterScrat
不是真的AFAIK。此代碼僅適用於AOSP音樂應用程序的某些內容,該應用程序沒有可變尺寸的行。當你拖着它時,有一種擴展行的概念 - 我只是更新了示例以更好地證明這一點。但是,我認爲代碼假定行的大小是相同的。 – CommonsWare