問題タブ [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 に答える
660 参照

android - 400行以上のTextViewとImageViewを使用するSimpleCursorAdaptorListViewメモリの問題

これが最善の方法ですか、それとも他にありますか?

SimpleCursorAdapterを拡張し、getView(int position、View convertView、ViewGroup parent)をオーバーライドします

カーソルを取得し、ImageViewとTextViewを膨らませ、カーソルからデータをプルし、ImageViewにTextViewとImageViewを入力します。画像をBlobとしてデータベースに保存します。

Blobを取得するときは、byte []として引き出し、に変換します。

以下のビットマップ:

ビットマップbmp=BitmapFactory.decodeByteArray(img、0、img.length);

次に、ImageViewのビットマップを次のように設定します。

iv.setImageBitmap(bmp);

これで問題なく下にスクロールできますが、リストを上にスクロールし始めると、重大なメモリの問題と散発的なジャンプが発生します(ガベージコレクションが追いついたときから)。

このタスクを達成するための最良の方法は誰か教えてもらえますか?表示されていないビットマップをリサイクルし、それらに近づいたときにそれらを引っ張って再び表示する方法はありますか?

私は何ヶ月も検索してさまざまなテクニックを試しましたが、このタスクを実行できるテクニックを見つけるのに迷っています。

前もって感謝します。

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

android - SimpleCursorAdapterでバインドされたListViewから選択したアイテムを取得します

私はAndroid開発にまったく慣れていません...iPhoneと.Netのバックグラウンドから来ています。私はこれと非常によく似た質問を見てきましたが、SimpleCursorAdapterを扱った質問はありませんでした。

カーソルを使用してSQLiteクエリのデータをListViewにバインドする基本的なListActivityがあります。

次に、アイテムがクリックされたとき:

これは、選択された要素のIDを取得するための適切な方法ですか?データベースを閉じた後(バインドした後)にカーソルを使用できないと思うので、奇妙に思えます。そのIDから実際のアイテムを取得する方法が見つからない場合、渡されたIDのポイントは何ですか?また、getItemAtPosition()がカーソルを返す理由がわかりません...カーソルはリスト全体にバインドされています。1行だけではありません。最後に、これが正しければ、カーソルを取得する2つの方法に違いはありますか?ありがとう。

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

android - 以前のリストアクティビティを処理するためのビューまたはアクティビティを設定するには? 例: 「詳細ページを見る」

これは、ListActivity リストをクリックするとactivity、各アトラクションの詳細を示す新しいリストが開始されます。完全な詳細ページを実装する方法がわかりません。以前の からデータを取得する完全な詳細アクティビティのコードをいくつか見せてもらえますlistか?

AttractionlistActivity.Class からのアクションを処理するためにこのアクティビティを実装する方法がわかりません

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

android - クリック時にListViewのアイコンを変更するには?

MyListViewはデータベースにリンクされています ( でSimpleCursorAdapter)。

ユーザーが行をクリックしてアイコンを変更したら、どうすればよいですか? 私はしようとしました:

  1. データベースの値を更新します。
  2. アイコンを手動で変更します。
  3. 電話 myCursor.notifyDataSetChanged();

機能しません-何も変更されていません。を呼び出さないとmyCursor.notifyDataSetChanged();、アイコンが変更されます。しかし、ListView を移動すると、消えてしまいます。もう一度関連付けるmyCursorListView機能しますが、全体ListViewが再描画され、リストが一番上にスクロールされます。これは正しくない動作です。

私は何をすべきか?

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

android - Android での SimpleCursorAdapter のパフォーマンスの問題

SimpleCursorAdapter で満たされた ListView を表示しようとしています。SimpleCursorAdapter は、次のような rawQuery の実行で満たされた Cursor を受け取ります。

このクエリをベースで直接実行すると、0.1 秒未満 (通常) で 40 行が返されます。リポジトリでの rawQuery の実行も非常に高速です。問題は、私がするときですmyListView.setAdapter(simpleCursorAdapter);。2分以上かかります!だから私はクエリをに変更しSELECT cod AS _id, name FROM supplier ORDER BY name、その実行setAdapterはかなり高速でした(「通常の高速」hsh)。

私の質問: listView を埋めるために rawQuery で実行できる JOIN の制限はありますか? 私は何か間違ったことをしていますか?rawQuery() の代わりに、リポジトリで query() を使用する必要がありますか?

英語で申し訳ありませんが、事前に感謝します。

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

java - AndroidでSimpleCursorAdapterを使用してリストビューにデータを入力します

私はこの質問が以前に尋ねられ、答えられたことがあることを知っています、しかし私は役に立たないために複数のチュートリアルに従いました。

私が自分のコードを載せれば、誰かが私を助けて正しい方向に向けてくれるかもしれないと思っただけです。私はうそをつくつもりはありません、私はこれで大規模な初心者ですが、これまでのところそれを愛しています(まあ、とにかくこの時点まで)。アクティビティをロードすると、次のエラーメッセージが表示されて強制終了します。

だから、ここにあります。私のデータベースクエリは次のとおりです。

次に、私のリストビューコード:

最後になりましたが、これが私のXMLです。

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

android - Android Gridviewはエミュレーターで動作しますが、電話では動作しません!

電話とエミュレータはどちらも2.2です。

カスタムSimpleCursorAdapterクラスを使用してグリッドビューを作成しようとしています。グリッドビューには、画像ビューとテキストビューが含まれています。

以下のコードはエミュレーターで完全に機能しますが、電話で試しても何も表示されません。

電話からコンストラクターのみが呼び出されることに気づきました(newViewまたはbindViewではありません)。何か助けはありますか?

これが私のメインのxmlファイルです:

各グリッド位置のビューは次のとおりです。

そして最後に、これが私のonCreateです(その一部です):

(そして、はい、私はまだ各位置の内側のimageviewで何も支配していないことを知っています)。

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

android - カスタムCursorAdapter、ListViewがシフトしています

私のクラスはSimpleCursorAdapterを拡張します。そのクラスでは、CallLogをListView(3つのTextView(番号、名前、日付)と2つのImageView(着信と発信の呼び出しを表す)で取得しようとしています。

OnCreateメソッドの私のコード:

私のクラス:

列"number"、 "name"、 "_ ID"は正常に機能し、すべて問題ありません。しかし、durationと、newViewメソッドでカーソルから取得しようとする別の列(「duration」など)がシフトしています。ThinkAndroidブログ(http://thinkandroid.wordpress.com/2010/01/11/custom-cursoradapters/)のjwei512がそれについて書いていますが、計算された列とnewViewの別の列をビューに入れる方法がまだわかりません方法。

インターネットで解決策が見つからないので混乱しています。助けてください。

jwei512:「次に、奇妙な動作に気付くでしょう。つまり、リストを上下にスクロールすると名前がシフトし始めるのがわかります。インスタンス化してTextViewに何かを配置しないと、どうなりますか(基本的にプレースホルダーとして機能するため)次に、bindViewメソッドでは、一部のTextViewにバインドされないため、シフトします。したがって、基本的に、リスト内で何かがシフトしているのを確認した場合、それは、バインドしていることを確認するための大きなフラグです。 newViewメソッドとbindViewメソッドの両方のすべてのビューに。」

私の行を表すXML:

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

android - SimpleCursorAdapter が ContentProvider への挿入時にデータとビューをリロードしない

このコードは正常に動作しています - SimpleCursorAdapter に一連の行をロードしていて、ListView がそれらを表示しています。良い。

しかし、新しい行を挿入するとき

リストビュー自体が更新されていません-SimpleCursorAdapterに通知され、ビューをリロードできると思いました-そうではありませんか?

新しい行が作成されました-これを確認しました

私が使っているとき

私のUIの脅威では、新しいデータが正しくロードされます...取得できなかったオブザーバー/リスナーのパターンは何ですか? :)

ありがとう、マーティン

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

android - Android で SimpleCursorAdapter の日付区切り記号を追加する

ビューに SimpleCursorAdapter をセットアップしましたが、データベースからデータを取得するときに問題なく動作します。クエリは、ORDER BY 日付 DESC 句を使用して実行されます。すべての行が取得され、ListView に適切に表示されます。また、adapter.setViewBinder() を使用して項目にロジックを追加します (サムネイルを追加します)。

コードは次のようになります。

次に、さらにロジックを追加します。次のように、日付が 2 つの項目間で変更された場合に、日付を含む小さな区切りバーを追加します。

等々。ただし、アダプター内に新しい View 要素を挿入する方法がわかりません。developer.android.com で答えが見つからないようです。

どうすればこれを達成できますか?