問題タブ [simpleadapter]

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 投票する
1 に答える
1135 参照

java - SimpleAdapter を使用した Android ListView でメモリ リークが発生する

これは、いくつかの調査を行い、提案されたいくつかの手順に従った後の私の以前の質問 ( Android メモリ リーク? ) のフォローアップです。

私のアプリケーションには、ユーザーが ListView アイテムをクリックする UI ループがあり、Web API にクエリを実行した後に別の ListView を描画します。項目をクリックすると、別の ListView が作成されます。このプロセスは、アクティビティを終了することなく、ユーザーが何度も繰り返すことができます。

これは、ListView に SimpleAdapter を設定する方法のコード スニペットです。

DDMS と MAT を使用すると、ListView オブジェクトの数は増えませんが、TextView、RelativeLayout、および ImageView の数は、ユーザーがクリックして新しいリストが描画される回数とともに着実に増加していることに気付きました。アプリ使用のさまざまな段階でのこれら 3 つのウィジェット +ListView のオブジェクト数を次に示します。

アプリが開いているときに実際にクラッシュすることはなく、応答が遅くなり、ラグが発生します。一定期間中程度または頻繁に使用した後、アプリを閉じてから開くと、ImageView を表示するときに OutOfMemory エラーが発生します。

ここにlist_item.xmlがあります..

このテンプレートと上記のオブジェクト数の 2(TextView) 対 1(ImageView) 対 1(RelativeLayout) の比率を見ると、SimpleAdapter によって作成された ImageViews、TextViews、および RelativeLayouts が適切に解放されていないようです。

私が行方不明であることは明らかですか?この問題は「デバッグ」モードでのみ発生するようだと彼らが言う他のいくつかの投稿を読みました。マニフェストで android:debuggable="true" または "false" を変更する以外に、これをオン/オフする方法がわかりません。

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

android - SimpleAdapterを使用してListViewのアイテムの色を変更する

SimpleAdapterを使用してListViewにデータを入力しています

R.layout.list_ciboのXML

3つの異なるSimpleAdapterを使用して、3つの異なる色に基づいて3つの異なるリストを作成します。私がやりたいのは、パラメーターに従って、各アイテムを3色のいずれかで色付けするリストを1つだけ作成することです。

を使用してTextViewsを変更しようとしまし .setColorたが、機能しません。

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

android - Android : カスタマイズされた SimpleAdapter でアイテムの削除時にリストを更新する方法

カスタマイズされた SimpleAdapter でマップ リスト アイテムを削除した後、ListView アイテムを更新する方法を教えてください。

list.remove(position) を使用してリスト項目の削除を正常に実装しましたが、list.notifyAll() 関数を呼び出そうとすると、「 java.lang.IllegalMonitorStateException: object not locked by notifyAll のようなエラー メッセージが表示されました。 ()」。

あなたが私を助けてくれることを願っています。カスタム SimpleAdapter のコードは次のとおりです。

よろしくお願いいたします。

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

android - ListView androidで画像を表示する方法

これを行う方法の例を探し回っています。ここ StackOverflow で、SimpleAdapter と HashMaps を使用したアプローチに出くわします。これは私のコードです。動いていない。私が見ることができるのは、リストの空の行だけです。

image_list_item.xml:

list_item.xml:

私が間違っていることを教えてください。

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

android - Android-ユーザーが撮影した写真をリストビューに追加する

私は現在、2行のテキストを保持する単純なリストビューアダプタを持っています。次にやろうとしているのは、ユーザーが撮った写真をリストビューに表示するオプションを追加することです。リストアダプタを次のように変更しました。

次に、通常どおりハッシュマップに追加し、アダプターを更新します。

最後に、結果のアクティビティのコードは次のとおりです。

しかし、私は問題にぶつかっています。ビットマップ形式の写真は、リストビューに追加されていません。空の空白として表示されます。私はここで何か間違ったことをしていますか?次に、ユーザーが写真を撮らないことにした場合は、画像ビューを表示しないでください。これを実装する方法がわかりません。カスタムリストアダプタを作成する必要がありますか?

ご協力いただきありがとうございます

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

android - ListVewの行の_idを正しく取得する

ListViewSQLiteテーブルからの値の束を表示するがあります。最初に、を使用して、SQLクエリからのカーソルに基づいて入力しましたSimpleCursorAdapter。に送信する前にリスト内のデータを操作/追加する必要があったため、代わりListViewにを使用するように切り替えました。SimpleAdapterListView

SimpleCursorAdapter行をタップした後に返されたIDを使用するListViewことは、データベーステーブルからの正しいIDですが、IDを使用することは、位置と同じであるため、SimpleAdapterによって生成されたばかりのように見えます。ListView

私のテーブルは次のようになります。

_id | col1 | col2 | col3

のカーソルを生成するメソッドはSimpleCursorAdapter次のようになります。

ListView使用法を入力するメソッドはSimpleCursorAdapter次のようになります。

次のメソッドでは、返されるIDに問題がないため、これは正常に機能します。

次に、に切り替えSimpleAdapterます。

を生成するためのコードList

そして、ListView:を満たすメソッドの場合

この最後の方法では、リスト内の値のListView取得に失敗します。_id私はそれが使用するときと同じようにこれを自動的に行うだろうと推測したでしょうSimpleCursorAdapter

の行のIDを操作して、データベーステーブルListViewのキーと同じ値になるようにする方法はありますか?_id

(すべてのコード例は大幅に簡略化されています)

編集:

私はそれを考え出した。SimpleAdapterオーバーライドする独自のサブクラスを作成する必要がありましたpublic long getItemId(int position)

0 投票する
4 に答える
4749 参照

android - Android Listview simpleadapter onClick、クリックされたビューを見つける方法は?

simpleAdapterを使用して作成されたリストビューがあります。各行は、TableRowといくつかのTextViewを含むレイアウトによって定義されます。

(レイアウト内の)どのTextViewがクリックされたかを知るにはどうすればよいですか?

リストビューでOnItemClickListenerを使用すると、リストビューの行(位置)を取得できますが、その行のどのTextViewがクリックされたかはわかりません。

ユーザーがリストビューでクリックしたTextViewに応じて異なるアクションを実行したい

行2のTextView2がクリックされたことをお伝えしたいと思います。

うまくいけば、私は自分自身を十分に説明しています。

ありがとうございます

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

android - アクティビティが起動されるたびに SQLite テーブルがリストビューに追加されないようにする

SimpleAdapter と TableView を使用して SQLite テーブルの内容を表示しようとしています。最初の起動時には問題なく動作しますが、アクティビティを再起動すると、listView にもう一度テーブルが追加されます。これは、フロント メニューからインテントを起動するたびに発生します。

SimpleAdapter は前回から保存されており、メニューからインテントを開いたときに再度追加されたように思えますか?

アダプターを起動するたびにリセットする方法はありますか?

私はプログラミングが初めてで、誰かが私を助けてくれることを願っています:)

いくつかのコード:

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

android - 連絡先でSimpleAdapterでViewBinderを使用するには?

ViewBinderに をセットアップして、SimpleAdapter連絡先の写真を入れたいです。誰かが私に方法を教えてもらえますか? このコードでは、連絡先の名前と番号を にListView入れていますが、写真を入れる方法は今はわかりません。

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

android - AndroidでSimpleAdapterをシングルトンにする方法は?

SimpleAdapter クラスを拡張しようとする場合は、コンストラクターを公開する必要があることに気付きました -

しかし、これにより、誰か (または i) が誤って新しいアダプターを作成する可能性がありますよね?

アダプターですべてのデータとメソッドを静的にしようとしましたが、正しい方法ではないようです...? 申し訳ありませんが、うるさいというつもりはありません。誰かが MySimpleAdapter のインスタンスを誤ってインスタンス化してほしくないだけです

このクラスをシングルトンにするにはどうすればよいですか?

私が SimpleAdapter を使用している方法は、動的に縮小/拡大するリストビューで必要なすべてのオブジェクトを保持するコンテナーとして使用することです。アプリのどの時点でも、そのようなコンテナーは 1 つだけ存在する必要があります。私はこの問題に正しく取り組んでいますか?