問題タブ [android-viewbinder]
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 - setViewBinder/setViewValue と getView/LayoutInflater の使用の違いは何ですか?
行内の何かを変更するには、次の 2 つの方法があるようですListView。
setViewBinder/の使用setViewValue:myCursor.setViewBinder(新しい SimpleCursorAdapter.ViewBinder() {
/li>getView/の使用LayoutInflater:public View getView(int 位置、View convertView、ViewGroup 親) {
/li>
これら2つのアプローチの違いは何ですか?
android - ListView アイテムに異なる背景を持たせる (そして維持する) にはどうすればよいですか?
この質問ListViewで、特定のアイテムについて同様のことを達成しました。
ただし、今は、ユーザーがアイテムをクリックできるようにしたいと考えています。これにより、ユーザーがタップしたアイテムが基本的に強調表示されます。ViewBinderアプリケーションでタップされたアイテムのリストを保持しており、スクロールが発生したときにこれを参照できるはずですが、それ自体LinearLayoutを構成する に何も適応していないため、オブジェクトを取得する方法がわかりません背景色を適切に設定するため。ListViewLinearLayout
ご存知かもしれませんが、スクロールするときに Android はリスト項目を再利用しますが、個々のリスト項目の書式設定 (色など) を変更しない限り問題ありません。その場合、リスト アイテムの色や書式が正しくないことになります。リスト項目内ViewBinderの問題を解決するために を使用していますが、それ自体の背景に対して同様のことを行う方法がわかりません。TextViewsListView
android - SimpleCursorAdapter の画像
データベースから画像を取得し、アイテム ビューに配置するためSimpleCursorAdapterに aを使用しようとしています。これが私のコードです:ViewBinderListView
私は得ています:
実行中byte[] byteArr = cursor.getBlob(columnIndex);。誰かが私が間違っていることを知っていますか?
android - 列名の代わりにフィールド値を取得するにはどうすればよいですか?
次のように、カーソルからのデータでリストを埋めたいと思います。
私はカスタムを使用して、各行にViewBinder2TextViewsつと1つを入力します。ImageView
私の問題は、cursor.getString()メソッド呼び出しがフィールドの値ではなく列名を返すため、列名を持つ数百の行を取得することです。
アップデート:
私getAllCompanieのsにはmoveToFirst呼び出しが含まれていますCursorが、それでも列名を取得します。
android - ViewBinder の条件付きアクション
ListView( with を使用SimpleCursorAdapterして)ラインアイテムを無効にしたいのですViewBinderが、うまくいきません:
を削除するelseと、ランダムに無効になり、if-else存在する場合はすべて有効になります。何が起こっている?
android - ListView の内容は多くのメモリを消費します
にListViewはかなり多くのアイテム (20 以上) が含まれており、それぞれにImageView ビットマップ ソースが含まれています。これらのビットマップは圧縮されておらず、サイズは約 640x480 です。ロードしたばかりのときListViewは少しメモリを消費しますが、スクロールするとエラー"Memory exceed VM budjet"が発生する場合があります。フラグメントを別のフラグメントに置き換えると、ListViewまだメモリ内でハングしています。ram/ListView キャッシュをクリアするにはどうすればよいですか?
アップデート :
と一緒に使用SimpleCursorAdapterしますViewBinder:
画像は別のスレッドで読み込まれます。
android - ListView内のすべてのアイテムのバインドされていない子ビューを更新するにはどうすればよいですか?
ListViewカスタムレイアウトに5つの子Viewオブジェクト(4TextViewと1 )がCheckBoxあるカスタムレイアウトを使用するがあります。ただし、TextViewsバインドされてCheckBoxいるのは、データベースに対応するフィールドがありません。の目的は、CheckBox表示されているアイテムのどれを「次のステップ」で処理したいかを識別することです。私はカスタムViewBinderを使用してテキスト値を正しく割り当てています(DBからの値の一部が日付などであるため)。
ユーザーインターフェイスの一部は、リスト内の各アイテムのステータスを切り替えるために使用する「すべて」、「なし」、および「反転」の3つのボタンです。たとえば、[すべて]ボタンの場合、次のコードを使用してこれを実行します(これは正しくないことがわかっています。これを含めて、実行しようとしていることを示します)。
これは、リスト内のアイテムの数がリストサイズを超えない限り正常に機能し、すべてのアイテムが常に表示されます。ただし、その数を超えると、'getChildAt'関数がnullを返すことがあります。これは、(正しく理解していれば)リスト内のすべてのアイテムを返すことを意図しておらず、表示されているアイテムのみを返すことを意味するためNullPointerExceptionです。
CheckBoxビューが表示されていない場合でも、すべてのビューに適切に設定するにはどうすればよいですか?
android - ListView 項目の ViewBinder setViewValue により、複数の CheckBox がチェックされる
私は次のものを使用してListViewいます:
- リスト項目クリック
CheckBoxクリック
を使用してcursorPositionを保存できview.setTag(cursor.getPosition())、チェックされたアイテムに対して必要なアクションを実行できますが、下にスクロールすると、他のいくつかのCheckBoxesチェックされたアイテムが表示されます(ビジュアルのみ)。回避策として、ビューの説明を設定し、CheckedBoxビュー ID をリストに保存CheckBoxしてから、チェック済みとして表示する必要があるかどうかを確認することを繰り返しました。しかし、下にスクロールするとビューが再利用されているように見えます(同じビューID)。
実際のチェック済みのみを表示するにはどうすればよいCheckBoxesですか? コード:
使用されます:
mySimpleCursorAdapter.setViewBinder(myViewBinder);