3

ListFragmentグラフィカル レイアウト エディターでプレビューしようとしています。ListViewプレビューするフラグメント レイアウトがないため、アイテムがどのように見えるかを確認するためだけに内部を含む xml を作成し、プレビュー リスト コンテンツをデフォルトのアイテム レイアウトの 1 つに設定して試してみました。

問題は次のとおりです。

  1. どのプレビュー リスト コンテンツを選択しても、プレビューのリストは空です。(何が間違っていたのかわかりませんが、今はうまくいきます)
  2. レイアウトだけでなく、独自のカスタム リスト アイテムViewをプレビューしたいのは、 isInEditMode()true の場合はほとんど何もしないからです。

何か案が?

EDIT : フラグメントは ですがListFragment、「一時的な」listview.xml レイアウトを使用しても問題ありません。私が欲しいのは、私のCustomListItemView内部でリストビューを見る方法です。フラグメントでは、カスタム アダプターを使用してそれらを配置します。レイアウト エディタで、[プレビュー リスト コンテンツCustomListItemView] メニューから選択できればいいのにと思います。

カスタム アイテムのレイアウトをプレビュー リスト コンテンツとして使用することはできません。ルートが<merge>(カスタム アイテムが拡張するRelativeLayout) であるためです。<merge>これは、一瞬を に変更することで解決できます<RelativeLayout>。ただ、このカスタムアイテムビューはデータによって変化するので、機能を使って色々な状態をプレビューしてみたいisInEditMode()です。

一時的な listview.xml レイアウトなしですべてが機能することが最善ですが、これは機能のリクエストになりつつあります。

現在、垂直を使用することに頼っていますLinearLayout

4

2 に答える 2

6

調べてみたところ、2 つのバグがあるため、現在これは不可能であるというのが答えのようです。

  1. 何らかの理由で、ListView がレイアウト内に埋め込まれているのではなく、レイアウトのルート要素である場合、ListView のプレビューは機能しません。この回避策は簡単です。ListView を LinearLayout などの他のレイアウトで囲み、ListView の layout_width と layout_height を match_parent に設定します。

  2. 何らかの理由で、ListView とカスタム ビューを含むレイアウトが別のレイアウトに含まれている場合、カスタム リスト アイテム レイアウトが機能しません。これは以前は機能していたので、ある時点で壊れたに違いありません。おそらく、使用するレイアウトを記録するために、コメント スタイルのメタデータの使用から tools-namespace メタデータの使用に切り替えたときです。

作業を追跡するためにこの問題を提出しました:
http://code.google.com/p/android/issues/detail?id=36838

于 2012-08-29T23:56:29.420 に答える
1

リストフラグメントにレイアウトを使用することに関する私の投稿は役に立ちます。すべての問題を解決するわけではありませんが、少なくとも使用する効果的なレイアウトを直接操作できます。

xml からの ListFragment レイアウト

于 2012-08-29T14:32:14.630 に答える