問題タブ [android-wrap-content]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
728 参照

android - MVVMCross ネストされた Recyclerview のメモリ不足の問題

実際には非常に簡単に機能する mvvmcross-framework と組み合わせて、ネストされた recyclerview を作成しようとしましたが、メモリ不足の例外が発生しています。

シナリオ

複雑で長い名前を持つ約 3000 のエントリのリストがあり、8 つのカテゴリに分類されています。ユーザーはチェックボックスを使用してエントリを選択し、後でそれらをタスクに割り当てることができます。

エントリが多すぎるように聞こえるかもしれませんが、ユーザーがある程度の背景知識を持っていれば、実際にはエントリをナビゲートするのは非常に簡単なので、この時点では変更しません。

コード

まず、カテゴリとエントリ (チャネル) の単純化されたデータ モデル:


そして、MVVMCross によってマップされたばかりの axml ファイル:

fragment_channels.axml

listitem_channelcategory.axml

listitem_channel.axml

問題

したがって、基本的には、ビュー (fragment_channels) に割り当てられた ViewModel がカテゴリのリスト (listitem_categories) を表示し、各カテゴリがチャネルのリスト (listitem_channels) を表示します。すべてが MVVMCross-Framework で処理されます。スクロールダウンして別のカテゴリにスクロールするまでは正常に動作し、しばらくの間フリーズし、数回後にメモリ不足の例外でクラッシュします。Atm 内部のリサイクラービューに固定サイズを与えることで、それを遅らせることができます。

私が何を変更できるか、または何が間違っているのか、誰かが考えていますか? ネストされた recyclerview だけではいけないのかもしれませんが、ここまでの処理は非常に簡単で直感的でした。

MVVMCross Android サポート バージョンと Co は 4.1.5、Xamarin Android サポート ライブラリは 23.3.0 です。

スタックトレース

トレースビュー

トレースビュー

とは関係がないようでWRAP_CONTENT、その方がずっと速く見えるようです。そのため、RecyclerView 自体または MVVMCross の問題である可能性がありますが、atm についてはよくわかりません。後で問題を切り分けようとします。

ListViewでも発生するため、RecyclerViewとは直接関係がないようですが、Androidが初めてなので、これら2つがどの程度関連しているかはわかりません。Android/Monodroid の問題か、MVVMCross のどちらかだと思います。

0 投票する
0 に答える
520 参照

android - ネストされた RecyclerView wrap_content が OutOfMemoryError を引き起こす

私はNestedScrollView、それが含まれていますRecyclerView wrap_content

そして、それを使用して(picassoを使用して)画像のリストをロードすると、メモリリークが発生しました:

java.lang.OutOfMemoryError: OOM まで 0 の空きバイトと -3040B で 24 バイトの割り当てを割り当てることができませんでした

それを回避する方法、私も遅延読み込みを使用しています

0 投票する
2 に答える
1256 参照

android - Android ConstraintLayout wrap_content にすべてのコンテンツが表示されない

ですべてのデータを表示する必要がTextViewあります。使用可能なすべてのスペースを水平方向に占有し、すべてのデータを垂直方向に含める必要があります (画面サイズやデバイスの向きが異なる場合に必要です)。

しかし、必要な垂直領域を取りません:

画面はこちら

それはバグですか、それとも私の問題を解決する方法がありますか? ただ使っているLinearLayoutうちは、そのような問題はありません。

私のXML:

0 投票する
2 に答える
317 参照

android - wrap_content が効果がないのはなぜですか?

ホルダーwrap_contentにセット:RecycleView

しかし、テキストTextViewは折り返されておらず、TextView 内のバブルに多くの空きスペースがあります。

ここに画像の説明を入力

iOSバージョンでこのようなものを強制的に表示するにはどうすればよいですか:

ここに画像の説明を入力

Android では、9-patchイメージを として使用しbackgroundます。

0 投票する
3 に答える
678 参照

android - 親の塗りつぶしなしの相対レイアウトにラップコンテンツを使用するにはどうすればよいですか

私の下手な英語で申し訳ありませんが、RelativeLayoutwidthを設定しましwrap_contentたが、fill_parent.

ここに私のコードがあります:

これに使えますLinearLayoutか?私はRelativeLayout子供たちに右から左に記入してもらいたい。助けてください!..

0 投票する
0 に答える
758 参照

android - relativelayout wrap_content が機能しない

これは私のxmlコードです

idを持つ親ビューを見ることができるようにandroid:id="@+id/tt"

その高さと幅の wrap_content 一部の子が持っているかどうかはわかっているandroid:layout_alignParentBottom="true"ので、wrap_conent は機能しません。これは match_parent のようになります

しかし今、私はJavaでこれを行います。メソッドは子を非表示にして表示する必要があります

子を非表示にして wrap_content にすると、まだ親と一致します これは実行コードです

tt の高さを wrap_content に変更します。これは、しばらくの間、親と一致するためですが、wrap_conent への変更後もまだ match_parent のようGoneです。

私が遅延を使用すると、この遅延が機能するためです

遅延があるため、遅延なしで wrap_conent にサイズが変更されます。これは match_parent と同じですが、すべての子の可視性はgone遅延なしで任意の solotio でした。LinerLayout を使用することはできません。