問題タブ [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.

0 投票する
2 に答える
446 参照

android - リストからアクティビティ間で値を渡す

SimpleCursadapter を使用して、アクティビティにあるリストにデータを入力しています。

ここで、このアクティビティから別のアクティビティに文字列値を渡す必要があり、その値はローカル データベースからフェッチされます。

リストビューに新しいテキストビューを作成し、SimpleCursorAdapter を使用して文字列値をマッピングすることで、同じことを行いました。

これはそうするための最良の練習ですか??

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

android - Android: 同時実行の問題により、CursorAdapter を使用できません。代わりに何をすべきですか?

お時間をいただきありがとうございます。うまくいけば、私はできるだけ明確にすることができますが、それができない場合は事前にお詫び申し上げます.

状況: ローカル データベースを処理するマルチスレッド Android アプリケーションを作成しています。同期/並行性の理由から、特定のアクティビティが Cursor をまったく処理しないようにしたいと考えています。ただし、現時点では、CursorAdapter を使用してデータベースからのデータを画面に表示します。

質問: Cursor を使用せずに SimpleCursorAdapter の機能を複製するにはどうすればよいでしょうか (カーソルを開くと同時実行エラーが発生するため)。

(オブジェクトの ArrayList を使用するのが最も効果的です。私は既にそれを使って遊ぶ準備ができているからです。)

ありがとうございました。私は固執し、必要に応じてすべてを明確にします。

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

android - Android:無限のスクロール-ListViewとカーソル

リストビューに表示したい最大15,000行のDBテーブルがあります。最初の100を表示したいのですが、ユーザーが最後の項目までスクロールダウンすると、次の100が読み込まれるはずです(以下同様)。より多くのアイテムのロードを担当するAsyncTaskを呼び出すOnScrollListener()に実装しました。私が抱えている問題は、カーソルに行が追加された後、SimpleCursorAdapterが更新されないことです。私はadapter.notifyDataSetChanged();を試しました。しかし、それは何もしません。

これはリストリスナーです:


これは私のAsyncTaskクラスです:


新しい行がresultCursorに追加されますが、リストは更新されません。何が欠けていますか?

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

android - SimpleCursorAdapterは使いにくいです

私は長い間、つまり

正しい値を返している間に失敗するため。SO自体にも同様の多くの投稿があり、カーソルデータベースクエリに_id列を追加する必要があると言っています。

onCreate(..)の私のコードは

以前、私のデータベースアクセスコードは次のとおりでした

ここで、KEY_ROWIDは次のように定義されます

そしてこれのエラーは

ここで、列90は列IDではありませんが、私のデータベースによれば、cursor.getString(1)に格納されているデータですが、ここでは行IDであるcursor.getString(0)を検索しようとしていると思います。

後で次のようにコードを変更しました

しかし、それでもエラーが発生しているので、今回のエラーは異なります

久しぶりに立ち往生しておりますので、よろしくお願いします!!

編集:さて、皆さんは私のクエリステートメントが正しいのを助けてくれてありがとう、申し訳ありませんが、データベースクエリの構文を理解するのが苦手ですが、私は学ぼうとしています

変更後の作業クエリは

実際、宣言された文字列をキー値で変更する必要がありました

しかし、クエリステートメントではなく、simplecursorAdapterにアクセスまたは使用する方法に起因する別の問題が発生しました。

DBテーブル

テーブルに2行3列があることがわかるように、次に、列2と列3からデータをフェッチして、リストビューに配置します。しかし、クエリからの修正後、別のエラーが発生します

もともとは

そしてエラーは

android.widget.SimpleCursorAdapter.findColumns(SimpleCursorAdapter.java:312)

ご覧のとおり、行にアクセスしているにもかかわらず、最初の列のデータにアクセスしようとしています。

その後、コードに変更を加えました

これは、SimpleCursorAdapterが通常のカーソルとどのように異なる動作をするかを調べるための推測にすぎず、私が得るエラーは次のとおりです。

私はこの質問が長くなりすぎていることを知っています:-(ここからいくつかのコードを削除することを提案しますか?

0 投票する
2 に答える
1654 参照

android - SimpleCursorAdapter での NullPointerException

カスタム アダプターを使用してグリッドビューをセットアップしようとすると、カーソルが表示され、アダプターを ASyncTask に設定します...

これがすべての私のコードです:

そして、これが私のアダプターです...

少し面倒で最高ではありませんが、うまくいくはずです...ここに私のエラーがあります:

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

android - AndroidSimpleCursorAdapterの問題

MyDataBaseHelperクラスでこのメソッドを作成しました。

そして、私の活動の1つにこのコードを書きました:

コードは正常にコンパイルされています。ただし、この線に達すると強制的に閉じましたlv.setAdapter(ca);

問題はありますか?私はそれを間違った方法でしましたか?

-

更新:これはlogCatエラーです(フィルターをかけた後android.view:)

LogCat画面

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

java - データが変更されるたびに新しい SimpleCursorAdapter?

私は Android 開発を始めたばかりでListActivity、 、SQLiteDatabase、およびを使用する単純なアプリを作成していSimpleCursorAdapterます。

Android 開発者の Web サイトには、SimpleCursorAdadpter. 実装を見ると、基になるデータベースがユーザー アクションの結果として変更されるたびにListActivity、次の関数が明示的に呼び出されてリストが「更新」されます。

SimpleCursorAdapter毎回新しいが作成され、 でビューにバインドされているように見えますsetListAdapter()。これは最良/最もクリーンな実装ですか? これが Android Web サイトにあるという事実は、信頼性を高めますが、CursorAdapterドキュメントを見てchangeCursor()、上記のものよりもクリーンな実装に役立つと思われる方法があることを確認しましたが、何がわからないのですか?のように見えるかもしれません。

何も心配していないだけかもしれませんが、C/C++ の世界から来て、データベースに行を挿入/削除するたびにこの「新しい」オブジェクトが作成されるのを見るのは少し面倒です。

0 投票する
2 に答える
2216 参照

android - ExpandableListView アイテムの色を変更する

...カーソルを使用して、SQL db の 3 つの異なる列から個々の (無限の) 行を選択します。最初の列には ID が含まれます。2 番目の列には正味重量が含まれ、3 番目の列には実際の重量が含まれます。データベースには他にも列がありますが、関連する列は前の列だけです。

次に、2 つの数値を取り、簡単な算術演算を行う必要があります... (簡単です。問題ありません) その後....

行に正味重量の 15% 未満の実際の重量が含まれている場合は、このアイテムの expandableListView の背景を赤にします。そうでない場合は、緑、紫、ピンクなどにとどまります。

ここに私のスペックがあります:

SQL データベースExpandableListViewにリンクされているsimpleCursorTreeAdapter 。

ここに私が見つけたものがあります:

私はいくつかの異なるチュートリアル、androiddocs、q&a を読みましたが、それらはすべて getGroupView() を指しています。すべてのチュートリアルの問題は次のとおりです。アダプターはBaseExpandableListAdapterから拡張されています。残念ながら、私は何度かその道をたどってきました。私はSQL liteデータベースを使用しています。

しかし、SimpleCursorTreeAdapter が BaseExpandableAdapter を拡張していることに気付きました。したがって、これを機能させる方法があるはずです。

問題:

getGroupView() を使用して個々の位置を循環する方法を見つける必要があります。ネット全体に散らばっているチュートリアルとは異なり、私のデータはデータベースから取得されており、チェックボックスは使用していません。

groupView を使用してすべての項目を正常に緑または赤に変えることはできますが、1 つの return ステートメントで必要なことを行う方法はありません。

どこを見ればいいですか?興味を引くまで、コードの投稿を保留したいと思います。

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

android - ListAdapterの行IDからListViewアイテムIDを取得する

データベースから照会されるアイテムの単一選択(ラジオボタンなど)リストを作成しようとしています。現在選択されている行を操作するには、ListViewのgetCheckedItemPosition()andメソッドを使用する必要があります。setItemChecked()

セットのあるがありますListViewSimpleCursorAdapter現在選択されているアイテムを取得すると、データベースからその行IDが取得されます。これを使用して適切なアイテムを検索し、前述の方法で選択するように手動で設定する必要があります。つまり、行IDのステータスを必然的に単調な行IDにマップする必要があります(setItemChecked()メソッドはデータベースの行IDではなく位置IDを受け入れ、データベースではアイテムを削除できるため)。

それで、テーブルの行IDから位置IDを取得する方法はありますか?可能であれば、検索を行うことに頼りたくありません。

ありがとう。

0 投票する
5 に答える
5299 参照

android - Android-ListViewアイテムのIDを取得する[特殊なケース]

私のDBクラスには、カーソルを返すメソッドがあります。カーソルには、さまざまなテーブルのデータが含まれます。

次に、を使用して:SimpleCursorAdapter caにアタッチします。CursorListView lv

ここで、ListViewでアイテムを選択した場合、そのアイテムIDへの参照が必要です。 アイテムが属するテーブルから他の情報を取得するIDが必要です。そして、他のアクティビティMsgViewでそれを取得します

私はこれを試しました:

  • アイテムがクリックされたときに渡されるIDへの参照を持っている

  • その値をインテントで渡すと、他のアクティビティがこの渡された値を使用して必要なデータを取得します。

    /li>

しかし、これはうまくいきませんでした。私が使用しているIDはアイテムのIDではないようです!解決策やアイデアはありますか?