4

どうにかしてビューまたはアダプターを削除することは可能MergeAdapterですか? 私はそれを拡張してビューを削除しようとしましたpiecesが、private. または、このアダプターでビューを表示/非表示にする代替ソリューションがありますか? layout_heightゼロに設定し、可視性をに設定しようとしましView.GONEたが、まだ空のリスト項目が表示されます。前もって感謝します。

4

4 に答える 4

8

ビューまたはアダプターを削除するにMergeAdapterは、次の方法を使用します。

setActive()mergeAdapter インスタンスで。

例: Textview(mytextView) を (merAdapter) から削除するにMergeAdapterは:

merAdapter.setActive(mytextViiew,false);

そして、それを再び有効にするには(見えるようにするために)、次を使用します:

merAdapter.setActive(mytextViiew,true);

詳細については、MergeAdapterドキュメントを参照してください。

https://github.com/commonsguy/cwac-merge

于 2014-03-06T07:53:32.050 に答える
6

どうにかして MergeAdapter からビューまたはアダプターを削除することはできますか?

現在ありません、すみません。試してみたい場合は、追加するのはそれほど難しくありません (コレクションから削除し、 を呼び出しnotifyDataSetChanged()て更新します)。AdapterView貢献は大歓迎です!:-)

于 2011-08-04T21:27:32.683 に答える
1

Mark Murphyの答えを拡張すると、これはMergeAdapterにこのメソッドを追加するのと同じくらい簡単だと思います:

public void removeAdapter(ListAdapter la) {
    pieces.remove(la);
  }

remove()オブジェクトを取得し、そのオブジェクトがピース リストに含まれている場合、必要なすべてのテストと削除を行います。独自の目的のためにこれをブール値または何かに戻すこともできますが、そのような必要はありませんでした。

次に、次のように呼び出します。

int view_to_remove = *AN_INT*
adapter.removeAdapter(listAdapter.getAdapter(view_to_remove));
adapter.notifyDataSetChanged();
于 2011-11-02T20:44:48.270 に答える
1

あなたのMergeAdapterにはメソッドが呼び出されているはずgetCount()です..私があなたを正しく理解していれば、そこからゼロを返すと問題が解決するかもしれません..

于 2011-08-04T10:04:52.157 に答える