問題タブ [checkedtextview]
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 - ListView CheckedTextView
私の Android アプリケーションでは、私の目標は非常に単純だと思いました。インストールされているアプリケーションのリストを生成し、それぞれの横にチェック ボックスを配置して、「除外するチェック ボックス」リストとして機能させることです。
インストールされているアプリケーションのリストを生成するために、標準の Android サンプル コードを使用しています。この投稿をできるだけ簡潔にするために、すべてを再投稿することはしません。
パフォーマンスがひどいので、このテーマに関する最初の質問は、アプリケーション アイコンを LazyLoads するサンプル コードを要求することです。ListView への LazyLoading アイコンの実装は、画像がダウンロードされている場合にのみ問題になるようです。Android はアプリケーションのリストを生成するときにこのメソッドを使用しないので、これはやり過ぎなのだろうか?
CheckedTextView がチェックされたときに問題が発生し、ビューがリスト内で再利用されると、さらにボックスがリストの下にチェックされる(最初のビューから外れる)か、それらがチェックされたことを「忘れる」ようになります。
この問題に対処するために、チェックされた項目への参照を保持し、getView() で次のコードを使用する必要がありました
それは機能しますが、各ビューが更新/リサイクルされ、各項目に OnClickListener が配置されているため、パフォーマンスはひどいものです (これについては以下で詳しく説明します)。
パフォーマンスを向上させるには、代わりに new SparseArray(...) を使用してください
しかし、私の悩みはそれだけではありません..ユーザーが必要なアプリケーションにすばやくアクセスできるようにするために、次のようにフィルターを実装しました。
フィルターが入力されると、ListView が再描画され、位置への参照がめちゃくちゃになると思いますか? これにより、ディスプレイ上の位置に基づいてボックスがチェックされます。
onListItemClick から CheckedTextView への参照を取得できないため、上記の各エントリに OnClickListener を実装する必要がありました。ここに私の多くの試みのいくつかがあります:
@CommonsWareがこのトピックで回答したように、CheckedTextView への参照findViewById(R.id.text1)
は私が求めているものではありません。
編集 - XML レイアウト
あきらめて、別のテキスト ビューとチェック ボックスを備えた独自のレイアウトを実装する準備ができていますが、そうすると車輪を再発明することになると思わずにはいられません。私はこれを必要以上に難しくしている!?
理想的な世界では:
- アプリケーション アイコンを LazyLoad するインストール済みアプリケーションのリスト。
- onListItemClick からの実際の CheckedTextView への参照。
- チェックされたアイテムを保存および参照する正しい方法。
誰かが助けてくれることを願っています。事前に感謝します。
android - 参照されたスタイル属性のオーバーライド
テーマ属性への参照を読んだ後、設定したカスタム テーマの属性の値を参照しようとしています。
ユーザー定義のスタイルをCheckedTextView
ユーザー定義スタイルは次のように定義されます。
私が作成した私のテーマは次のように定義されています:
ただし、表示される checkMark スタイルは、デバイスのデフォルト テーマのドローアブルであり、ユーザー定義のドローアブルではありません。
ドローアブルを表示できる唯一の方法は次のとおりです。
しかし、特に複数のテーマでこの属性をオーバーライドしたいので、それはこの属性をオーバーライドする目的全体を無効にします。
onCreate()
私はこのように私の方法でテーマを設定していActivity
ます:
また、次のように AndroidManifest.xml ファイルにテーマを設定しようとしました。
しかし、それはうまくいきませんでした。何がうまくいかないのですか?
アップデート
小さなサンプル プロジェクトを作成したところ、上記のコードが機能しているようです。したがって、このプロパティをオーバーライドする他のスタイルが必要であるか、レイアウト xml ファイルに関係している可能性があります。
私の大規模なプロジェクトではFragments
、Activity
. どちらもFragments
によってListviews
支持されていAdapters
ます。Fragment A
のgetView()
方法は次のとおりAdapter
です。
Fragment B
のgetView()
方法は次のとおりAdapter
です。
レイアウトは次のように定義されます。
list_item.xml
list_item_header.xml
contact_entry.xml
何らかの理由でFragment B
、themed の checkMark 属性が正しくレンダリングされませんが、Fragment A
では、checkMark は現在の YellowGreen テーマを使用し、正しくスタイル設定されています。なぜこれが起こるのでしょうか?
android-listfragment - setOnItemClickListener エラーで CheckedTextView を使用する
リスト項目をクリックして、クリックしたばかりの行を「チェック」できるようにするために、 OnItemClickListenerでCheckedTextViewを使用しようとしています。SherlockListFragment で SimpleAdapter を使用しています。CheckedTextView の状態は、今後ユーザーがアプリで使用できるように SharedPreferences に保存されます。
明確な解決策を見つけるために全体を見てきましたが、わかりません。私のコードは以下に基づいています: Listview with checkedtextview。これが私が得るエラーメッセージです:
「メソッド setOnItemClickListener(new AdapterView.OnItemClickListener(){}) は、ビュー タイプに対して定義されていません」
私はandroid.view.View.OnClickListener、android.widget.AdapterView.OnItemClickListener、android.widget.CheckedTextView、android.widget.AdapterViewをインポートします。これが私のコードです:
助けてくれてどうもありがとう!
public class SettingsFragment extends SherlockListFragment implement ActionBar.TabListener {
}
アダプターが使用する行 xml ファイルは次のとおりです。
android - Android CheckedTextView の状態
次の問題があります: のカスタム Android クラスを作成しましたCheckedTextView
:
そして、次のように主なアクティビティで使用します。
タップするCustomCheckedTextView
と背景が緑になります。しかし、電話の背景を回転させると、再び白くなります。なぜそれが起こるのですか?
android - ListViewリスナーがアイテムからのイベントをインターセプトしない
私は持っていListView
ます:
その中にsが含まれていCheckedTextView
ます:
OnItemClickListener
リスト アイテムがクリックされたときに何かを実行する を追加しました。ただし、アイテムをクリックすると、チェックボックスが切り替わります。リスナーがクリックイベントをキャッチしていることをどのように達成できますが、チェックボックスはそうではありませんか?
android - 以前のハニカム バージョンの Android GridView チェック項目
したがって、次の GridView 宣言があります。
GridView の各子は、次のレイアウトでアダプター上に構築されます。
これ@drawable/green_radio
は、GridView の選択した項目の左側に矢印を表示するために使用する StateList ドローアブルです。
このコードは、API レベル 11 (Honeycomb) 以上の Android デバイスで完全に機能します。以前のバージョンのデバイスでは、GridView の項目をチェックしても矢印が表示されませんでした。
いくつかのデバッグの後、GridView が押された子項目をチェック済みとして設定していないことに気付きました (API レベル 11 以降で発生するもの)。したがって、矢印は表示されません。
なぜこれが起こっているのですか?
android - Android で CheckedTextView をカスタマイズする
仕事で自分のものではないコードを使用しています。このコードは CheckedTextView を使用しており、次のようにします。
問題は、チェックボックスのグラフィックを変更したいということです。現在、次のようになっています(デフォルトだと思います):
そして、私はこのようなものを取得したい:
CheckedTextView が xml で定義されている場合は、その方法を知っています。私の問題は xml で定義されていません。その方法がわかりません。
私はこれを見つけました: ListViewのCheckedTextViewをカスタマイズし ますが、実装方法がわかりません
どんな助けにも感謝します。
事前にどうもありがとうございました