問題タブ [android-adapter]
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.
android - ListView は、ローカル イメージの代わりに空白を表示します
ローカルの画像とテキストだけを含むリストを読み込もうとしています。すべて正常に動作します。つまり、テキストは問題なく表示されますが、画像フィールドでは画像が表示されません。
ローカル画像ルートは「/mnt/sdcard/Imagenes/pic1.jpg/」、「/mnt/sdcard/Imagenes/pic2.jpg/」などです。
私はここで何か間違ったことをしているに違いなく、何が間違っているのかわかりません。助けていただければ幸いです、ありがとう...
アダプターをリストに設定する方法は次のとおりです
そしてアダプター
これが配列の設定方法です。
listafotos = 新しい ArrayList();
どうもありがとう。
android - AsyncTask を使用して ListView に画像を読み込む
画像を保持できる ListView が 1 つあります。SDCARD にイメージが存在するかどうかによって異なります。
ここに私のコード例:
「sdcard/example/images」ディレクトリには、1.jpg、2.jpg、3.jpg、4.jpg、6.jpg、7.jpg、および 9.jpg の画像があります。期待される結果は次のとおりです。
しかし、リストをすばやくスクロールすると、いくつかの画像が間違った項目に挿入されます。getView() メソッドで convertView を使用したために発生します。
次のコードを使用すると、コードは正常に動作します。
リストをすばやくスクロールすると、convertView の使用により、2 つの asyncTask が 1 つの同じビューを参照できます。ビューが表示されなくなったときに AsyncTask をキャンセルするにはどうすればよいですか?(ListView の別の項目で使用されています)
編集
android - SimpleCursorAdapter と SQLiteDatabase を使用して ListViewItem に ID を追加する方法
私はこれをしばらく探していましたが、私の問題を解決するのに役立つものは何も見つかりません.
リストビューにカテゴリのリストがあります。これらを SQLiteDatabase からフェッチし、SimpleCursorAdapter を使用してリストに追加します。これはうまくいきます...
ここで、カテゴリをクリックすると、その特定のカテゴリのすべてのアイテムを表示する新しいアクティビティを起動したいと考えています。パラメータを新しいアクティビティに渡すことは問題ではありません - これを行う方法についての素晴らしいチュートリアルが見つかりました:データまたはパラメータを別のアクティビティに渡す
私の問題は、選択したビューからIDを取得できないことです...選択したカテゴリからIDを取得して、そのcategoryIdでアイテムを取得できるようにします。これは私がビューからIDを取得しようとする場所です-私は多くの異なる方法を使用しました(リストビュー、アイテム、位置をいじるなど...これは私の最近の試みです)そして何がわかりません次に試す...
誰かが同じ問題に遭遇したことがありますか?
これは問題が解決された方法です:
android - 複数の選択肢とカスタムビューを備えたダイアログ
私はこの問題に1日苦労していますが、解決方法がわかりません。
そのため、選択する項目のリストを表示する AlertDialog があります。これらのアイテムには複数のテキスト ビューが必要なので、setMultiChoiceItems()
デフォルト フォーマットを使用するシンプルなビルダーに頼ることはできません。
ここでは、次のようにしてカスタム ArrayAdapter を使用します。
OnClickListener
の 2 番目のパラメータとしてan を使用できると思っていましsetAdapter
たが、1 つのオプションを選択するとダイアログが閉じてしまいます。
これを修正しようとしてsetOnClickListener()
、次のように、行レイアウトを取得するときに ContactsAdapter 内に を追加しました。
これは機能しますが、行をクリックするとハイライトが表示されなくなります。これは本当に望ましくありません。
これを解決する方法はありますか?ListActivity を使用できることはわかっていますが、それは簡単に解決できますが、実際にはダイアログでこれを実行したいと考えています。ありがとう!
android - ListView を特定の ID にスクロールし、その項目をチェック済みとして設定する方法は?
SQLCursorAdapter にマップされた ListView があります。デフォルトでは、特定のIDに対応するビューを常にチェックし、ListViewをスクロールしてその特定のアイテムを表示したいと考えています。どうすればそれを達成できますか?
注: アイテムの数は数百になる可能性があり、チェックしたいアイテムはリストのどこにでもあります。
android - ListAdapter または SimpleCursorAdapter からリストビューに入力します
私は、基本的に私たちのウェブサイトで利用可能なデータをミラーリングする新しい Android アプリを作成しています。GUI にはListView
、各項目に画像とテキストを含む 、またはRelativeLayout
1 つの項目の詳細を表示する が表示されます。
このアプリの応答性を高めるために、データが十分に新しい場合は内部 DB からデータを読み取り、内部データが古すぎる場合はサーバーの API (JSON over http) からデータを読み取ります (そして、新しいデータを含む内部 DB)。
基本的なチュートリアルから、内部 DB から読み取る場合は DB とSimpleCursorAdapter
(*) を使用する必要があるようです。ArrayList
しかし、ウェブから読むときは、 andを使用していると思いますArrayAdapter
。
両方の状況を処理できるアダプターのタイプはありますか?
(*) CursorLoader で LoaderManager を使用することが最新の方法であることはわかっていますが、Android 2.1 をサポートしようとしています。SimpleCursorAdapter を AsyncTask に入れて ANR を回避できると思います。
android - 複数の文字列を渡す SectionedAdapter
アダプターには、このようなものがあります
キャプション変数には 1 つの文字列があります。この文字列はアダプタに沿って渡されます
複数の文字列を渡すにはどうすればよいですか? たとえば、文字列 A と文字列 B がありますが、それらをアダプターに渡す方法と、後で読み取る方法を教えてください。私はこのようなものが必要です
android - gridviewロードリモートイメージ。ビューを更新しますか?
GridView
子アイテムとして持っている画像を使用しています。
このgetView
関数は、すべての子アイテムのデフォルトの画像をアプリケーション「Loading.gif」からロードします。別のスレッドでは、すべての画像をあるビットマップタイプにアダプターにロードします。
adapter.notifyDataSetChanged()
各画像が読み込まれた後に呼び出すのは賢明ですか?
または、画像を直接更新する別の方法はありますか?
android - AutoCompleteTextView は、ユーザーが提案を選択したかどうかを検出します
autocompleteTextview からの提案を押した場合にのみ、ユーザーがボタンをクリックできないようにしたいだけです。
これを達成するために、アダプターに onKeyListener を実装し、提案を押した場合にアダプターによって設定されたタグを削除しました。次に、タグがあるかどうかを確認しました。
しかし、 onKeyListener はタグを適切に削除していないようです:
この問題を解決する他の方法はありますか?
java - ギャラリーに更新されたデータセットが表示されない
一連の画像を検索するアクティビティがあります。画像はギャラリーに表示されます。ユーザーが検索語を入力できる EditText があります。ユーザーが EditText にテキストを入力すると、入力したテキストに従ってギャラリーがフィルター処理されます。
私はSearchResultAdapter extends BaseAdapter implements Filterable
基本的にうまく動作するを作りました。ユーザーがテキストを入力すると、アダプター内のデータがフィルター処理されます。結果をログに記録しました。これまでのところ機能しています。次に、notifyAdapterSetChanged を呼び出して、更新されたデータ セットがギャラリーに表示されるようにします。notifyAdapterSetChanged が実際に呼び出され、ギャラリーがアダプター getCount() を呼び出すときに要求が受信されます (すべての呼び出しをログに記録しました)。
選択を 0 に設定すると、ギャラリーにアイテムがない場合に予想されるように、IndexOutOfBoundsException が原因でアプリケーションがクラッシュします。それでも、ギャラリーには以前にあったすべての画像が表示されます。
問題は、データ セットが空の場合 (つまり、ユーザーがどの画像にも適合しない検索語を入力した場合)、ギャラリーに更新が表示されないことです。ギャラリーは notifyAdapterSetChanged を受け取り、項目数 (0) でアダプターを照会し、スクロール制限を更新します。ギャラリーに表示される画像は更新されません。基本的に表示する画像がないため、画像をスクロールできなくなりましたが、画像はギャラリーから削除されません。ユーザーには、ギャラリーがフリーズしたように見えます。
無効な検索用語が削除されると (つまり、データ セットが空でない場合)、ギャラリーには正しい画像が表示されます。また、アプリケーションを最小化してから再度開いたときのように、特定の条件下では、ギャラリーに空のリストが表示されます。ただし、ギャラリーが空になる条件を再現できません(アプリケーションの最小化/再開は別として):
ギャラリーを無効にして requestLayout() しようとしましたが、役に立ちません。ギャラリーに表示された画像のリストを更新させる方法を知っている人はいますか?
ユーザーが画像に一致しないテキストを入力した場合のログ メッセージは次のとおりです。
データ セットのサイズに応じて、ギャラリーによってアダプターが実際にどのように呼び出されるかに注目してください。
アクティビティの初期化コード:
そして SearchResultAdapter (重要でない行は省略されています):
編集: ギャラリーの可視性を非表示に設定してから再度表示に設定すると、問題が解決しました。
より良い解決策はありますか?これは私にはかなりハックに思えます。