問題タブ [convertview]

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 投票する
3 に答える
1596 参照

android - ConvertViewは、まだ画面に表示されているビューとして渡されます

私のカスタムListAdapterでは、GetView()が最初に呼び出されたときに、convertViewはNULLとして渡されますが、2回目は、最初に作成されたビューとして渡されます。私のListViewには4つの行があり、4つすべてが同時に画面に表示されます。ドキュメントから、convertViewは、すでに作成され、画面からスクロールされたビューである必要があるようです。私はconvertViewが4回すべてnullになることを期待していたので、4つの別々のビューを作成/拡張します。getViewを最初に呼び出した後、convertViewを使用する必要がありますか?ありがとう。

OnCreate()の場合:

アダプタークラス

0 投票する
1 に答える
1378 参照

android - Android、view および viewgroup パラメーターを渡す方法

リストビューのビューの 1 つの背景色を変更したい

myListView.getView(int position, View convertView, ViewGroup parent).setBackgroundColor(0x00FFE303);

位置はわかっています - これが arrayadapter のインデックスになりますが、ビューとビューグループが何であるかはわかりません。この行の上で宣言しましたが、何を初期化すればよいかわかりません

ヘルプ?

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

android - ビューが存在する場合でも convertView が null として渡される

画像とテキストがグリッド ビューに表示され、ユーザーが下にスクロールすると次の 10 項目 (画像とテキスト) が表示される Android アプリケーションを開発しました。この問題は、adapter.notifyDataSetChanged() 呼び出しの後にアダプターの getView メソッドが呼び出されると発生します。アダプターはデータをリサイクルしますが、位置は再配置され、グリッド ビューで繰り返されます。convertView が null かどうかを確認する条件を追加するまで、この問題に直面していませんでした。

活動クラス :

スクロールする前に、グリッド ビューが正しく表示されます。ログ:

最初のスクロール終了後

しかし、グリッドは値が繰り返され、正しい順序で表示されません。申し訳ありませんが、私は新しいユーザーであるため、画像を投稿することは許可されていません。

ログでは、位置 0 の convertView==null が true であることがわかります。

現在使用されている画像ビューのAndroidアイコンの代わりに画像をダウンロードする予定であるため、これを正しく設定する方法。

助けてください。

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

android - アダプタービュー内のアダプタービューと変換ビュー

私はアダプタービュー(リストビュー)を持っており、それぞれに別のアダプタービュー(カスタム水平リストビュー)を含むいくつかのビューが含まれています

すべての変換ビューは正常に見えます。垂直方向にスクロールするとリストビューのアダプターから変換され、水平方向にスクロールすると水平リストビューから変換されます。

私の問題は、リストビューでsetNotifydatasetChangedを呼び出すと、convertviewからすべての子行が再描画されますが、各水平リストビューの子は空の変換ビューを取得します。

したがって、各水平リストビュー内のすべてのアイテムを再構築します。

convertviewに頼るのではなく、リストビューの行ごとに最大15ビューを保存することでこれを回避できますが、それはかなり醜いです。

あなたはもっと良いことを知っていますか?

ありがとう。

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

android - GalleryImageAdapterconvertViewは常にnullです

ImageAdapterを備えたギャラリーを使用して、リソースから画像を引き出すImageViewsをギャラリーにロードしています。私の問題は、アダプタのgetView()メソッドに渡されるconvertViewが常にnullであるということです。これは、getView()が呼び出されるたびに新しいImageViewが作成されることを意味します。これは、GCが常に実行されて、作成され、使用されなくなったImageViewをすべて消去するため、ひどいパフォーマンスにつながります。

これは明らかに既知のバグです。ギャラリーのビューキャッシュが壊れています。ビューを変換することはありません。

私の2つの推奨される解決策は、次のいずれかです。1.アダプター自体でビューのキャッシュを処理し、それらを適切に再利用するために必要なすべてのロジックを処理します。または2.ギャラリーウィジェットの自分のコピーを含めて、リサイクルされたビューが適切に返されるように修正してみます。

オプション1の実装を開始しましたが、その操作の背後にあるすべてのロジックを作成する方法が正確にわからないことにすぐに気付きました。オプション2の方が簡単かもしれないと思い始めています。

ギャラリーウィジェットのコードはここにあります:http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.1_r2/android/widget/Gallery.java

よくわかりませんが、呼び出していることがわかります

745行目。私の(暗闇での撮影)は、これが問題の原因だと思います。

誰かがこのバグの経験がありますか?または、このウィジェットを微調整して正しく機能するように、リサイクラーの状況がどのように機能するかを理解するために、誰かが私を正しい方向に向けることができますか?または、私が見落としているかもしれないいくつかの代替オプションを提案することさえできます。

編集:私が今までに見つけた最良の解決策は、EcoGalleryと呼ばれる実装でした。私がもうオンラインでそれへの参照を見つけることができる唯一の場所はここにあります。それを機能させるには、そこからプロジェクト内の正しい場所に各チャンクを配置する必要があります。

0 投票する
4 に答える
1350 参照

android - convertViewを使用する場合の問題、使用しない場合の問題

ImageViewとTextViewを含むListViewがあります。私はArrayAdapterをサブクラス化して、サブクラス化されたAsyncTaskを介してインターネットから画像をロードできるようにしています。これまでのところすべて良い。

問題は、convertViewを使用しようとすると、画像が一時的に間違った行に再利用されるという問題が発生することです。(これは会社のロゴなので、これは...良くありません。)

ただし、convertViewを使用しない場合、ユーザーがスクロールすると画像が失われます。したがって、下にスクロールして上に戻ると、画像がインターネットから再ロードされます(これは明らかにデータの使用やバッテリーの寿命などに悪影響を及ぼします)

毎回インターネットから読み込まれないように、または画像を移動しないようにこれを修正する簡単な方法はありますか?

これが私が今まで使っているものです:

すべてが非常に高く評価されています:)

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

android - convertview の使用時にリストビューがアイテムを間違った順序で返す

私が使用しconvertViewていると、間違ったビュー項目が返されます。この位置にあるはずの正しいオブジェクトを返します。しかし、戻りますwrong view

これが私の情報源です。ファイルのダウンロード中に取得および更新Capsule objectしています。注文以外はうまく機能します。私がすべての部分をコメントすると、すべてがうまくいきます。arrayProgressBarconvertView

0 投票する
1 に答える
406 参照

android - Android: ListView を使用する必要がありますか? (ケース: 一部構造が不明なリスト要素)

リストに関する仮定 (更新):

  • 10 個を超えるリスト要素は含まれませ(リスト要素は以下の xml レイアウトによって定義されます)。
  • リスト要素には最大20 個の子ビューLinearLayoutを持つことができる が含まれているため、すべての要素の高さは不明です(以下の xml を参照)。

リスト要素の XML レイアウト:

質問:

  • ListView(上記のような) 構造に自由度があり、
    渡された convertView を引き続き使用できるレイアウトに を使用することは意味がありListView#getView(...)ますか?

  • LinearLayout別の方法として、すべてのリスト要素をアウターに入れ、これを の中に入れるのは間違っていScrollViewますか? これを行うと、 のキャッシュ機能は得られListViewませんが、リストに関する仮定を考えると、それほど重くはないのではないでしょうか? (上を参照)。(この代替のルックアンドフィールを のようにする方法についての指針はありListViewますか?標準の色とセレクターなどを適用することを考えています。)
0 投票する
5 に答える
45152 参照

android - ListviewandroidのEdittext

editextとtextviewを備えたListviewがあります。

edittextに触れると、edittextはフォーカスを失いました!

を設定することでこの問題を解決しましたandroid:windowSoftInputMode="adjustPan"(AndroidManifest.xml)。ここで、editextがフォーカスを取得するよりもedittextに触れますが、アプリケーションラベルとリストビューの一部が消えます(上部)。

ユーザーがアプリケーションラベルとリストビューの一部を失うことなくedittextに触れたときに、焦点を合わせたいと思います。

私が実装したコード:

以下のコーディングでは、ユーザーが編集テキストにタッチするとフォーカスが取得されますが、ソフトキーパッドがポップアップするとアプリケーションラベルとリストビューの一部が表示されなくなります。ユーザーがアプリケーションラベルとリストビューの一部を失うことなく編集テキストにタッチすると、フォーカスが取得されます。

1)AndroidManifest.xml

2)raw_layout.xml

3)main.xml

4)MyListViewDemoActivity

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

android - Android BaseAdapter: getView() の再入力時に convertView null

http://bartinger.at/listview-with-sectionsseparators/で説明されている手法に従って、セクションを含む ListView を構築しています。しかし、セクション以外のアイテムに convertView を再利用して拡張したいと思います。ただし、 getView() メソッドが入力されるたびに convertView 変数が null であることがわかりました。誰かがなぜこれが当てはまるのか説明できますか?

リストはエラーなしで作成および表示されており、セクションと非セクションの両方のアイテムが含まれています。