問題タブ [android-cursoradapter]
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 - Android:データベースを変更せずに CursorAdapter を変更しますか?
カスタマイズされた ListView を使用して、うまく機能するカスタム CursorAdapter があります。このビューを使用すると、ユーザーは ListView の行を並べ替えて UI をいじることができます。問題ありません (まあ、多くの調査と試行錯誤の結果です!)。
しかし、ユーザーがこれらの行の 1 つを移動するたびにデータベースにアクセスしなければならないのは好きではありません。彼らはかなりの修正を行っている可能性があります。さらに、ユーザーが気が変わってすべての変更をキャンセルできるようにしたいと考えています。
だから私は疑問に思っています: データベースを変更せずに、この ListView の内容 (つまり、行の順序) を変更する方法はありますか? そうすれば、ユーザーが [OKAY] を一気にクリックしたときにデータベースを更新し、キャンセルした場合はそれらの変更を無視することができます。
また、この理論的な手法を使用すると、ユーザーは、リストを変更するたびに、AsyncTask がポップしてデータベースの操作を行うのを 1 回待つだけで済みます。
android - getView内でリクエストを実行するカスタムCursorAdapterの更新が失敗する
私はまだカスタムがどのように機能するかを正確に理解していないCursorAdapter
ので、懸命に試した後、ここにあります:
- 内のボタンにリスナーを実装します
getView()
。 - リスナーは行の削除イベントを起動します。
- そのために、すべてのクラスからの要求を実行できるシングルトンデータベースを使用します(実際にはシングルトンの目的)
- 私は通常、アクティビティクラスから更新(挿入および変更)するので、新しいデータベースカーソルを取得して、それを新しいに再割り当てするだけ
CursorAdapter
で、自分自身をに再割り当てしますListView
。 - ここでは違います。私はメソッドの
CursorAdapter
クラス内にListView
いて、アダプターを内部から更新する方法がわかりません。
私の退屈な説明を読みたくない人のために、ここにコードがありますgetView
:
削除イベントを起動すると、次のエラーが発生します。
詳細についてはお問い合わせください。
バグ修正または単なる説明を探しています、ありがとう。
android - Android 4 での CursorAdapter の動作が遅い
私のsqliteデータベースからのデータで提案リストを完成させる拡張されたCursorAdapterクラスがあります。これまでのところ、android 2.3 では問題なく動作していましたが、android 4.0.1 では非常に遅く感じます。もう 1 つのことは、第二に、提案リストのスクロールも非常に遅いことです。Ice Cream Sandwich の CursorAdapter に関する既知の問題はありますか? Nexus S デバイスでテスト済み。
編集:
アプローチを変更し、CursorLoader を使用しようとしましたが、クエリを実行してオートコンプリート リストを埋めるにはまだ時間がかかります。
作成時:
onTextChanged:
CursorLoader インターフェイス:
ArrayAdapter でも同じことを試しました。しばらくしてからデータを取得します (20 ~ 30 秒程度) が、オートコンプリート Textview のリストが表示されません。
遅延は、onCreateLoader (CursorLoader を非同期的に返す) と onLoadFinished() の間にあります。
java - CursorAdapterの奇妙な動作
私のアプリでは、いくつかの情報を表示し、値に応じてtextViewの色を変更します。
問題は、上下にスクロールした後、色が混同され始めますが、値は同じままです。
何かアドバイス?
編集:xmlで色を赤に設定し、必要な場合にのみ変更します。
android - データベースからの autocompletetextview リスト表示と onitemclicklister
データベース テーブルからの結果を持つ autocompletetextview に onclicklister を実装したいと考えています。
私はそれをグーグルで検索しましたが、正確に欲しいものを手に入れませんでした。スタックオーバーフローのリンク。
私の autocompletetetextview では、ユーザーの名前が表示されます。選択した項目をクリックすると、ユーザーの詳細ページが表示されます。このため、ユーザー テーブルからユーザー名と ID を取得しましたが、autocompletetextview で名前のみを表示する必要があります。要求を送信し、ユーザーの詳細画面を開きます。
前もって感謝します。
java - Android ListViewはすべてのチェックボックスをオンにします(カスタムResourceCursorAdapter)
活動中の私のカスタムアダプタ:
同じアクティビティのonCreateで:
そしてonClick:
削除は正常に機能しています(チェック済みのものを削除します)。しかし、すべてを選択するためのボタンは何も変更しません。
android - フィルタリング後にカーソルが閉じない
カスタムCursorAdapterとContentProviderを使用して、データベースエントリのリストにフィルター関数を実装しようとしています。コードは実際には期待どおりに機能しますが、警告が発生し、場合によってはエラーが発生します。CursorAdapterで、フィルタリングを実行してカーソルを返すrunQueryOnBackgroundThreadをオーバーライドしました。
対応するアクティビティでは、TextWatcherを使用してデータセットをフィルタリングしました。
私の問題は、以前にonTextChangedを呼び出して(それ以外の場合はすべて正常に動作します)、フィルター処理されたデータセットを表示するアクティビティから戻るたびに、「閉じていないカーソルが検出されました」などの警告、または「ファイナライズ中」などのエラーが表示されることです。非アクティブ化または閉じられていないカーソル"。なぜこれが起こるのか考えはありますか?
フィルタリングされていないリストを表示するために最初のカーソルを要求し、アクティビティから戻った後にこのカーソルを閉じる必要があることを認識しています(これは機能しているようです)。また、フィルタリングリクエストとともに、新しいカーソルを作成します。これは、ANDROID開発者の参照によると、 runQueryOnBackgroundThreadから戻った後、古いカーソルと交換する必要があります。これにより、古いカーソルを閉じる必要があります。どういうわけかこれはうまくいかないようです!
android - カーソルアダプターの bindview オーバーライドでビューの ID を取得できません
CursorAdapter
でデータを表示するために拡張するカスタム アダプターを使用していlistview
ます。特定の電話番号を表示するには、ID が必要なので、クリック イベントで取得しようとします。次のようにバインドメソッドでクリックリスナーを設定しました
呼び出しからビューの正しい ID を取得していないgetId()
ため、データベースから電話番号を取得できません。
完全なコードは次のとおりです。
android - CursorAdapter を使用して ListView のチェックボックスからデータベースを更新する
データベースからタスクの ListView を設定するカスタム CursorAdapter があります。各 ListView アイテムには、チェックボックスとボタンがあります。チェックボックスを押すと、データベースが更新され、タスクが完了として設定されます。問題は、ListActivity を終了してタスク リストに戻るときに、何も更新されず、チェックボックスの状態が保持されないことです。
問題があると思われる CursorAdapter を含めました。おそらくビューのリサイクルと関係がありますか?どんな助けでも大歓迎です。
android - Android リストのチェックボックス
この Android のビューのリサイクルはかなり正気ではありません。
これは私のコードであり、動作していません
どんな助けでも大歓迎です。