0

ドラッグアンドドロップが機能し、TouchListViewクラスはうまく機能しました。ただし、私の場合、複数行を持つことができるEditTextを含むアダプターが原因で、さまざまな高さの行があります。したがって、ドロップした後、すべての行がtlv:normal_heightに変換されます。私の場合は74dipです。これにより、多くの行でEditTextsのすべてのテキストが切り捨てられます。アダプター(mylistview.setAdapter = myadapter)を再初期化して、ListViewをGONEに設定し、次にVISIBLEおよびinvalidateViews()に設定しようとしましたが、ドラッグする前にListViewをリセットするものはなく、アクティビティを終了して戻ってきます。ここで何ができるでしょうか?-どうも

tlv:normal_height="74dip"
tlv:expanded_height="128dip"
4

2 に答える 2

0

元の AOSP コードが行の高さを均一にするように設計されていたことに疑問の余地はほとんどありません。expanded_height構造体全体が、ドロップが発生する場所をユーザーが視覚化するためのスペースを提供するためにそこにありました。

1 つの出発点は、レイアウトで宣言された固定値ではなく、 に基づいてアダプターから動的に取得されるTouchListAdaptermixin インターフェイス ( に似ているSpinnerAdapter)normal_heightを作成することです。それだけで十分なのか、さらに作業が必要になるのかはわかりません。expanded_heightposition

解決策を思いついた場合は、パッチを歓迎します。それ以外の場合は、おそらくいつかこれを確認しますが、すぐではありません。

目先の特効薬がないことをお詫びします。

于 2012-01-11T11:36:22.967 に答える