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

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

android - ListViewから選択したビューを取得する

私はCursorAdapter自分のを処理するためにを使用していListActivityます:

CursorAdapterそして、拡張してオーバーライドする私のアダプタークラスbindView

私のリストアイテムのレイアウトはxmlファイルで定義されていますlist_item.xml

TextView内のレイアウトでの表示を切り替えるにはどうすればよいonListItemClickですか?私はもう試した:

しかし、クリックしたものに関係なく、ランダムに切り替えるリスト項目を選択しているようです。

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

android - asynctask を使用してコンテンツ プロバイダーからイメージ ビットマップをロードする

MediaStore コンテンツ プロバイダーを介して SD カード上のすべての画像をクエリし、それらのサムネイルを GridView に表示しようとしています。

ただし、メインスレッドで画像のサムネイルを読み込むと、スクロールが非常に遅くなります...

だから私は asynctasks を介してビットマップを読み込もうとしました: スクロールのパフォーマンスは向上しましたが、グリッド項目は正しいビットマップを取得するまでサムネイルをリロードし続けます...

ビットマップをロードする私の asynctask は次のとおりです。

そして、ここに私のカスタムカーソルアダプターがあります:

このコードでカーソルをクエリし、アダプターに送信します。

カスタム カーソル アダプタの bindview() が想定よりも頻繁に呼び出されるように見えます...スクロールのパフォーマンスを維持しながら、グリッドビューの画像のリロードを停止する方法を知っている人はいますか??

前もって感謝します。

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

android - SimpleCursorTreeAdapterを使用してExpandableListView子ビューのボタンのリスナーをクリックします

私が取り組んでいるのは次のとおりです。SimpleCursorTreeAdapterを使用してSQLiteデータベースからビューを埋めるExpandableListViewがあります。カスタムのグループビューと子ビューを使用していますが、グループビューと子ビューの両方にボタンがあります。これらのボタンにボタンリスナーを設定して、リスナーが呼び出されたときに、それがどの行(またはカーソルID)から来たのかを知る方法を知る必要があります。動作するリスナーをonChildItemDetailsClicked()に設定できますが、リスナー内では、どの行がボタンの押下に対応するかわかりません。何か案は?

グループビュー:

チャイルドビュー:

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

android - カスタムのシンプルカーソルアダプターの作成

クリック時に行アイテムの色を簡単に変更できるように、非常に単純なカーソルカスタムカーソルアダプターを作成したいと思います。次のコードを使用する

このスレッドからコードを取得しましたhttps://stackoverflow.com/a/7649880/498449

単純なカーソルアダプターを使用してコードをonClickに配置しましたが、ListFragmentのデフォルトのリストはビューを再利用するため、スクロールすると複数のビューが強調表示されます。IRCについて話すと、カスタムカーソルアダプターを作成することが提案されました。ただし、これを行う方法と、上記のコードスニペットがどこに収まるかについてのベストプラクティスを見つけることができないようです。助けていただければ幸いです。

オンラインで見つけたコードでカーソルアダプタを更新しました。しかし、私には2つの問題があります。1.カーソルローダーを使用しているので、コンストラクターに渡す「カーソル」オブジェクトがありません。2.コンストラクターが非推奨になったことを示す警告がEclipseから表示されます。

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

android - listViewに挿入された行が表示されないのはなぜですか?

データベースにアイテムを追加するとlistViewに表示されないため、確かに何かが欠落しているカスタムcursorAdapterがありますが、アプリケーションを再起動すると、追加された行が表示されます。

これが私のアクティビティとcustomAdapterです:

ご清聴ありがとうございました。

編集:私は解決策を見つけましたが、私はそれが嫌いです、私は他の解決策があったらいいのにと思います。

今、私は自分の活動に参加しています:

私はそれが正気ではないと思います、更新後にリストを更新するより簡単な方法があるはずです。ここでは、カーソルを再作成し、新しいカーソルでフィードするcursorAdapterを再作成してから、このcursorAdapterをlistViewに影響を与えます。これはandroiddocのメモ帳の例ですが、カーソルを操作するだけでアダプターとlistViewを更新する方法があると確信していますが、それを理解するのに十分な知識はありません。

0 投票する
0 に答える
194 参照

android - さまざまな行タイプのCustomAdapter

customAdapterに問題があります。editText、データベースのリスト、そしてeditTextをもう一度表示したいと思います。

私のアダプターコードをお見せしましょう:

その結果、データベースのリストはありますが、editTextはまったくありません。私はAndroidを初めて使用するので、bindViewとnewViewについて、明らかに何かを誤解したか、単に理解できませんでした。

ご清聴ありがとうございました。

編集:わかりました、私は私が欲しいものをひどく説明します、それについて申し訳ありません(そしてそれが間違っているので私のコードがあなたを誤解している方法:()

私が欲しいのは次のテンプレートです:この構造を持つカスタムcursorAdapterを持つListView:

  • 空のEditText(ユーザーがクリックしてデータベースに行を追加できる場所)

  • textViewsのデータベーステーブルからのデータを示す行リスト

  • 最後の行には、最初の行と同じ目的を持つ他のeditTextがあります。

カスタムアダプタがどのように機能するかを理解しようとしています。ソースを読んだことがありますが、私の場合はその方法がわかりません。

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

android - onContentChanged() でカスタム CursorAdapter を使用する Android

listViewでcursorAdapterを使用して、適切なコードを作成しようとしています。

アクティビティで、カーソル内のデータを変更すると、アダプター内のカーソルが自動的に更新され、アダプターともちろん listView が更新されることを望みます。

マジック、この関数があります: onContentChanged() これは、このアダプターのカーソルが「通知」されたときに呼び出される CursorAdapter の関数です。

しかし、私はこの関数の呼び出しに失敗しています。

ここで、コードの興味深い部分 (これは機能しません) です。どこが間違っているのか、何が誤解なのかを誰かが教えてくれれば、感謝します。

アクティビティ :

CursorAdapter :

私の問題は、この関数を呼び出したいのですが、呼び出されていないことです。

そしてデータベースクラスですが、データベースへの挿入は問題ないので、それが重要かどうかはわかりません:

わかりました、もう一度、私の2つの質問:

1)アダプタの onContentChanged() 関数を呼び出すにはどうすればよいですか (もちろん、明示的に呼び出す必要はありません)。

2) 私のコードは、listView にカスタムの cursorAdapter を供給する良い方法なのだろうか。

ご注意いただきありがとうございます。

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

android - Android ContentProviderは、バッチ操作で多くの行が挿入されると、setNotificationUri()のバーストをCursorAdapterに呼び出します

ContentProviderSQLiteデータベースへのアクセスを管理するカスタムがあります。データベーステーブルのコンテンツをにロードするには、aと:ListFragmentを使用します。LoaderManagerCursorLoaderCursorAdapter

ContentProviderSQLiteデータベースは、Webサービスから多数のアイテムをフェッチし、バッチ操作( )を介してこれらのアイテムをデータベースに挿入するバックグラウンドタスクによって更新されますContentResolver#applyBatch()

これがバッチ操作であっても、ContentProvider#insert()行ごとに呼び出されるgetsはデータベースに挿入され、現在の実装では、挿入コマンドごとにContentProvider呼び出されます。setNotificationUri()

その結果CursorAdapter、通知のバーストを受信し、UIが頻繁に更新されて、結果として迷惑なちらつき効果が発生します。

理想的には、バッチ操作が進行中の場合、ContentObserver各挿入コマンドではなく、バッチ操作の最後にのみ通知する方法が必要です。

これが可能かどうか誰かが知っていますか?ContentProvider実装を変更して、そのメソッドをオーバーライドできることに注意してください。

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

android - Android の評価バーとリスナー

Android および Java プログラミングは初めてです。カスタム カーソル アダプタを実装するクラスがあります。問題は、リスナー内のカーソル アダプター内の一部の情報にアクセスできるようにする必要があることです。下記参照:

どうもありがとうございました。

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

android - 行タイプの説明が異なる CustomAdapter

コードを投稿するために Stackoverflow を試してみましたが、修正するにはミスが多すぎると思います。

私の最大の問題は誤解であるため、それをどのように開発する必要があるかを尋ねます。

問題: カスタムのcursorAdapterから供給されるlistViewを実行したいと考えています。

なぜカスタム cursorAdapter ?

今のところ、listView の最初の行に editText を配置し、次にデータベースの項目を配置し、次に listView の最後の行に別の editText を配置したいからです。ヘッダーとフッターで解決できましたが、後で同じリストビューに他の多くの行テンプレートが必要になり、さらに多くのカーソルが必要になる可能性があります。それが理由です。

このチュートリアルに従って、アダプターで多くのタイプを使用しようとしました: 1つのリストビューに多くの行タイプがあることについてのリンク

もちろん、bindView と newView をオーバーライドしました。

しかし

失敗しています。両方のeditTextをlistViewに直接追加する方法がわからないなど、多くのバグがあります...私にとって最大の問題は理解です。それを行う方法の説明が必要です。正確に何をすべきかを意味しますbindViewで、そしてnewViewで正確に何をすべきか。

気が変わったので、これが私のアダプターのコードです。気をつけて、それは多分恐ろしいです。

注:後でviewHolderなどの最適化を修正します...

注2:念のため、これが私の主な活動コードです

そして心配しないでください:

1) 関数 showAlertWindowblabla() ==> 動作します

2) createNoteTop 関数も機能し、データベースに行を挿入します。

読んでくれてありがとう、あなたの答えを探しています。

編集:わかりましたので、大したことではない仕事をした後、私は自分が望むものに近づいています。残念ながら、私はまだ表示のバグがあります。フィールドを変更すると、理由がわかりません。彼はこのフィールドをリストの別の場所にドロップするだけです。これは (bindView または newView メソッドで) 簡単に修正できる大きな間違いだと思いますが、疲れていて、どこから来たのかわかりません。そこで、一石二鳥となるように、customAdapter の修正コードを投稿します。