問題タブ [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 - ListView の行 ID と位置インデックスの混乱
ListView
私はいくつかの基本的な Android 開発に飛び込み始めたところですSimpleCursorAdapter
。私は多くのオンライン コード サンプルに目を通していますが、参考として使用できる本もあります (Professional Android 2 Application Development)。
この本では、自動インクリメント、整数、主キー フィールドを持つ SQLite データベースにリスト アイテムを格納する To-Do リスト アプリケーションの例を作成しています。
ユーザーは新しいリスト アイテムを作成できますが、選択したアイテムをリストから削除することもできます。コードでは、削除が発生すると、項目の属性ではなく、項目の属性によって主キー フィールドが ( WHERE
SQL ステートメントの句内で) 制限されます。position
rowid
私には、これは正しくない実装のように思えます。の SQLite ドキュメントを見るAUTOINCREMENT
と、この値は常に増加し、古い値が同じテーブルで再利用されることはないと書かれています。そのため、リストに何かを削除したり追加したりすると、位置と行 ID がすぐに同期しなくなる可能性があります。
では、リストの位置ではなく、行IDがデータベーステーブルに「インデックス」する正しい方法であると仮定するのは正しいでしょうか? 通常の を使用している場合、この位置は安全に使用できると思いますがListAdapter
、データベースにインデックスを作成する場合には適していないようです。
android - 単純なカーソルアダプタの問題
これが単純なカーソルアダプタの私のコードです。
データレコードはログに正しく表示されますが、コードが
ライン。
私が得るエラーは次のとおりです:
どこが間違っているのですか?
列'_id'が存在しないというエラーが表示されるのはなぜですか?テーブルに必要な列ですか?
編集:
カーソル関連のコードをtrycatchブロックに入れると、次のようになります。
メッセージが表示されます:
@Rasel:これがfetchAllRecords
方法です
android - Android SQLite で複数のテーブルからクエリを実行していますか?
SQLiteで複数のテーブルを同時に(一度に複数)クエリすることが可能かどうか(そうあるべきか)疑問に思っていました。基本的に、まったく同じ列を持ついくつかのテーブルがありますが、それらのデータはテーブルごとに整理されているだけです。条件に一致するテーブルからデータを取得するために使用できる必要があります(役立つSELECT
と聞きました)。 UNION
、次にデータが含まれるテーブルでグループ化します。
言い換えれば、このようなことが可能でしょうか?
テーブルを個別にクエリする必要はありません。Cursors
手動で実行する必要があるものがたくさんあり、1つしかない場合は難しいのでしょうSimpleCursorAdapter
か? aSimpleCursorAdapter
が複数Cursor
の s を持つことができない場合はどうなりますか?
ありがとう。
編集:私のテーブルの構造:
基本的に、これらのテーブルは階層データ構造の編成を容易にするだけです。サブサブテーブルを使用する代わりにactual entries
、サブテーブルに を保持してプレフィックスを追加し、メタ情報用に別のテーブルを作成することもできると思います。このデータセットのレベルを削除する必要がある場合、構造を削除/更新するのは難しいようです。
android - edittext + simplecursadapterに単語を入力したときにリストビューをフィルタリングする方法
リストビューからデータをフィルタリングする際に問題に直面しています。リスト ビューに Simple Cursor Adapter を使用しました。リストビューのフィルタリングが機能していません。ここですでに尋ねられた質問のいくつかを確認しましたが、それでも問題を解決できませんでした。コードを見てください。
android - Spinner の SimpleCursorAdapter または Cursor に追加の要素を挿入する方法は?
データベースから取得したデータのリストを表示するスピナーがあります。データはクエリからカーソルに返され、カーソルはスピナーの SimpleCursorAdapter に渡されます。このように問題なく動作していますが、このデータの上に別のアイテムを挿入したいです。たとえば、スピナーは既に DB に保存されているユーザー作成のテンプレートのリストを表示していますが、テンプレートのリストの上に「新しいテンプレート」と「空のテンプレート」を挿入したいので、Cursor/SimpleCursorAdapter に挿入する必要があります。何とかして。
配列リストを使用してカーソルから配列リストにデータを入力することを検討しましたが、カーソルには他の関連するデータ行も含まれているため、より良い解決策です。インターネットで他の解決策を検索したところ、この目的で CursorWrapper を使用するよう求める回答がいくつか見つかりましたが、CursorWrapper を使用して目的を達成する具体的な例は見つかりませんでした。カーソルにいくつかの行を挿入するにはどうすればよいですか、または誰かがCursorWrapperのわかりやすい例を教えてください!! 前もって感謝します。
android - Expandable List View にローカル SQLite データベースを設定するアプローチ
アプリケーションに sqlite データベースがあります。それを使って展開可能なリストビューを作りたいです。
私はそのために取るべきアプローチに固執しています。
同じチュートリアルを見つけるために多くのことを試みましたが、Expandable リストにローカル データベースを設定しているチュートリアルを 1 つも見つけることができませんでした。
Android サイトにこの 1 つのチュートリアルがあり、拡張可能なリストに電話の連絡先の詳細を入力しています。これは、コンテンツ プロバイダー ExpandableList2.javaから実行されます。
私の質問は、自分のアプリケーション内にあるデータベース用のコンテンツ プロバイダーも作成する必要があるかどうかです。
これが唯一のアプローチですか、それとも他にもっと良い方法がありますか?
android - Androidどこでchangecursorを呼び出しますか?
次のようなgetViewを備えたカスタムSimpleCursorAdapterがあります。
imageDownloaderはDBAdapterの更新を呼び出しますが、c.getString(urlCol)は以前の値を提供します。上の位置にchangeCursorを配置しようとしましたが、それでも同じ値が得られました。これを正確にどこに呼ぶべきですか?ありがとう!
ListVIewを再描画したくないのですが、最新のデータをカーソルに入れたいだけです。imageviewとurlをImageDownloaderクラスに渡して、画像をダウンロードし、ビットマップをimageviewに設定して、データベースを更新します。getViewメソッドが同じデータを返すため、カーソルが更新されていないことに気付きました。
これは私のカスタムsimplecursoradapter宣言です。getviewは上記のとおりです。
ImageDownloaderクラス
ImageDownloaderクラスのAsyncTaskクラス
奇妙に見える場合は、名前を非表示にしているだけです。
android - Android Spinner: カスタム アダプターの表示
複数の行を含むカスタム dropDownList を作成し、データベースから入力したいので、スピナーで SimpleCursorAdapter を使用しています。私はこのタスクを非常にうまく達成しましたが、私のレイアウト アクティビティでは、選択した行がスピナーに表示され、選択した行の最初の行だけが表示されるように別のレイアウトが必要です。どうすればこれを達成できますか?
ここに私の SimpleCursorAdapter コードがあります:
android - リストビューでスクロール中に進行状況バーの状態を維持する方法
リストビューの各行に水平のプログレスバーがあります。行を選択してアップロードしている間、下にスクロールしていて、アップロードしていた行に戻ると、プログレスバーが消えます(画面から消えると状態が保存されません)。SimpleCursorAdapter と sqlite を使用しています。Androidマーケットアプリのように、これが機能しているのを見てきましたが、うまく機能しています。何か助けはありますか?私はこれを何日も続けています。
android - 1つ以上のテーブルのAndroidSQLiteデータベースから返される空のデータのレコード
私はこの2日間、この問題に取り組んできました。データベースクエリから入力されるリストビューを作成しようとしています(十分に単純なようです)。複数のテーブルを管理するため、挿入と削除を管理するためのデータベースヘルパークラスを作成しました。しかし、それは一貫して(または最近ではまったく)機能しません。
定義された関数の1つを使用してテーブルをクエリしようとすると、dbはXX個のレコードを持つカーソルを返しますが、列データはnullです。実際には、複数の行(行の区切り文字が表示されます)ですが、各行は空白です。
私はこの問題に少し困惑しています、そしてどんな援助もいただければ幸いです。以下はDBヘルパークラスです。
データベースヘルパークラス
DBクラスで使用するすべての定数は、次のように定義されています。
これは、dbヘルパーオブジェクトを使用しようとするlistactivityです。
どんな考えや援助も大歓迎です。
*編集:電話からsqliteデータベースを取り出し、sqliteブラウザで開きました。入力されたすべてのレコードがそこにありました。さらに、クエリはブラウザビューで記述されたときに機能しました。