問題タブ [simplecursoradapter]
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 - SimpleCursorAdapterからSQLite値にアクセスする
すべてのノードのセットを持つ「ノード」と呼ばれるSQLiteテーブルがあります(各ノードには複数のプロパティがあります)。
アクティビティでは、SimpleCursorAdapterの拡張機能を使用して、SQLクエリに基づいてNodesテーブルのサブセットを表示し、(クエリからの)結果のテーブルにカーソルを渡します。
ListActivityの各リストアイテムを変更して、アイテムがクール、ウォーム、ホットのいずれであるかに基づいて異なる色を表示するようにします。私は小さな(空の)ビューを持っていますが、それは常にデフォルトで白(「else」の部分)になっています。
私の問題は、SimpleListAdapterに渡されるカーソルには、必要なサブセット内の対応するノードの_ID(私が推測する)が含まれますが、getViewの位置パラメーターはサブセットに対してローカルであるため、相互参照できないことです。ノードテーブル。簡単なテクニックが足りませんか?
いつものように、どんな助けもありがたいです。
マークされた回答のコメント4は、これを解決するのに役立ちました。SimpleCursorAdapterに渡されたカーソルをメンバー変数として保存し、movetopositionとgetLongを使用します。
ここで、positionはgetView()メソッドのローカルパラメーターであり、db_idはSimpleCursorAdapterに渡されるカーソルの最初の列であるため、getLongには0が使用されます。
android - SimpleCursorAdapterを使用して特定の行の背景を変更する方法
SQLiteDBの情報から生成されたリストビューを作成しようとしています。現在、各行を適切に表示し、3つのテキストビューにデータを入力するようにコードを設定しています。ある種のIfステートメントを使用して、値の1つが「Room1」であるかどうかを確認し、その行の背景を特定の色に設定できるようにしたいと思います。
このように、リストの各行は、データの「部屋」に基づいて異なる背景を持ちます。
SimpleCursorAdapterを拡張しようとしましたが、必要なものを取得する方法に少し迷っています。
SimpleCursorAdapterについて現在持っているものは次のとおりです。
android - 変数を ViewBinder に渡す
私とデータベースへのカーソルアダプターとのViewBinder
間の仲介者として機能している があります。ListView
このデータが表示されているコンテキストに応じて、ViewBinder
さまざまなことを行う必要があります。
例として、存在するすべてのタスク グループのタスクを表示するタスク管理アプリケーションを取り上げます。この場合、特定のタスク グループの 1 つのタスクを表示していた場合、アプリはリスト ビューにタスク グループの名前を表示したくない場合があります。リスト ビュー アイテムには非表示のフィールドを含めることができViewBinder
、タスク グループの名前をフィールドにマップし、必要に応じて表示するように設定することができます (メイン アプリケーションの指示に従って)。
私の質問はViewBinder
、それが表示されているコンテキストをどのように伝えれば、どのように動作するかを判断できるのでしょうか?
これはおそらく多くの異なる を実装することで実現できると思いますが、これには多くのコードを複製する必要があり、特定のパラメーターを渡すだけViewBinders
の単一で行うことをお勧めします。ViewBinder
android - 奇妙な UI 動作のチェック/チェック解除
奇妙な UI 動作の問題に直面しています。*listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);* を設定すると、onListItemClick が正しく動作しません...ここで何か不足している場合はお知らせください。
次の行にコメントすると
この UI は期待どおりに機能しますが、コードの次の部分が機能しません
Listbox.java
MyCursorAdapter.java
main.xml
fetchrow.xml
android - Android SimpleCursorAdapter + ListView が機能しない
こんにちは、SimpleCursorAdapter を使用して値をリスト アダプターにバインドしようとしています。カーソルは SQLLite データベースから来ています。ただし、カーソルの結果に関係なく (常に少なくとも 1 行あります)、リスト ビューには空のメッセージが表示されます。
私のコードは以下のとおりです。
In Activity : onCreate() によって呼び出されます
カーソルの取得
session_list_row.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<TextView android:text="" android:id="@+id/sessionNameRow"
android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
</LinearLayout>
メインレイアウト
<ListView android:id="@android:id/list" android:layout_height="fill_parent" android:layout_width="fill_parent"></ListView>
<TextView android:id="@android:id/empty" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="@string/no_sessions_msg" />
android - 多くのカスタム動作を持つ ListView にカーソルを適応させるにはどうすればよいですか?
私は現在SimpleCursorAdapter
、カスタムで を使用ViewBinder
して、ListView
.
ただし、私のリストが画面のサイズよりも長く、ユーザーが上下にスクロールすると、システムが間違った行に間違った色を付けるなどの原因になります。私の理解では、これはシステムの再利用の問題です。here で説明されているように、スクロールの最適化として表示します。
私はすべて最適化を望んでいますが、アイテムを適切に表示する必要がありますListView
。これについて正しい方法は何ですか?
私の考えでは、 a CursorAdapter
、できれば aを実装できると思いますが、そのSimpleCursorAdapter
方法がわかりません。または、私のテキストの色をデフォルトに戻すだけViewBinder
ですか?
android - Android 複数の SimpleCursorAdapter
私は SQLite データベースで動作する小さなアプリに取り組んでいます...優先度に応じて画像 (緑、黄、または赤) を表示しています。私には3つの優先度(高、中、低...)があり、次のようにそれらのカーソルを取得しています:
次に、次のような他のものを呼び出しています。
それで、リストに表示する準備がすべて整いました...しかし、setListAdapterを使用すると、そのうちの1つしか使用できません。カーソルが異なる 3 つの異なるレイアウトがあるため、これを行うのは非常に困難です。これら 3 つの SimpleCursorAdapter をすべてリストに表示するにはどうすればよいですか?
編集:多分私は十分に明確ではなかった...このデータはすべて1つのテーブルにしかありません...しかし、3つの異なるレイアウトがあるため(優先度の色が異なるため)、それらを個別に追加する必要があります...または何かありますか?優先度が「高」の場合、この画像をレイアウトに配置すると、SimpleCursorAdapter が 1 つだけ必要になります。
android - データを表示するときのListFragment遅延
まず最初に、私のAndroid開発の冒険をとても簡単にしてくれたすべてのユーザーに感謝します。しかし、私は解決策が見つからない状況に遭遇したので、ここに行きます:
相互作用することを目的としたさまざまなフラグメントを含むアクティビティがあります。これらには以下が含まれます:
Sqliteデータベースの1つのテーブルからSimpleCursorAdapterによって入力されたGridViewを含むフラグメント
/li>別のテーブルから別のSimpleCursorAdapterによって入力されるListFragment//リスト機能
/li>ユーザーがGridViewから何かを選択すると、アクティビティはそのアイテムをListViewのテーブルに挿入し、それを再初期化します。
/li>
ここで問題があります。ログを見て、各ステップをログに記録します。このプロセス全体の所要時間は50〜70ミリ秒ですが、グリッドをクリックしてからListViewが更新されるまで、文字通り2〜3秒を数えることができます。問題はListFragmentとsetListAdapter()
、ビューの更新にかかる時間にあるようです。
1.インターフェイスを使用して選択をリッスンするか、GridViewフラグメントから直接呼び出すなど、さまざまな方法を試しました。2.いずれかnewadapter.changecursor(c)
またはnewadapter.getCursor().requery()
3.他のバリアントを使用してListFragmentの2次関数を呼び出します。
しかし、それは常に永遠に助けが必要なようです。
android - ListView にある 1 つの TextView に複数のデータベース フィールドをマップする方法は?
以下は、1 対 1 のフィールド マッピングを使用したコードです。
しかし、データベースに別のフィールドがあり、のDbAdapter.KEY_CLOSE_TIME
ようR.id.time
な値が表示されるはずDbAdapter.KEY_OPEN_TIME + " - " + DbAdapter.KEY_CLOSE_TIME
です。
どうすればいいですか?