問題タブ [sectionindexer]
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 - setListItemChecked がすべてのリスト項目を強調表示していない
状況
通常とヘッダーの2つのビュータイプを持つ複数選択モードのListViewがあります。名前と電子メールを含むカーソルを取得して連絡先アプリからデータを読み込み、AlphabetIndexer クラスを利用します。私のアダプターは、SimpleCursorAdapter クラスを拡張し、SectionIndexer を実装します。さらに、アダプターの getCount() メソッドをオーバーライドして、カーソルの数 + セクションの数を返すようにします。さらに、私のレイアウトは正しく、ユーザーの操作に応じて onListItemClickListener で項目が強調表示されます。
問題
ただし、[すべてチェック] ボタンですべての項目を強調表示したいのですが、コードではそれができません。
Cursror.getCount() より小さい位置にあるアイテムのレイアウトを正しく変更し、残りをより大きなインデックスでマークすることを拒否します。ListView.getCheckedItemPositions() をログに記録すると、このリストにはすべてのアイテムが含まれます。レイアウトは確認していません。
そのため、状態は変更されますが、レイアウトは変更されません。
例
55 の連絡先と 20 のセクション ヘッダーを含むリストがあります。位置 0 で Select All Button アイテムを実行すると、55 が強調表示されます。56 から 75 までのアイテムはチェックされるだけで、強調表示されません。
コード
android - AlphabetIndexer を使用した gridview
GridView に SecionIndexer を実装したいのですが、かなりのトラブルに見舞われています。追加するには、既存のプロジェクトのコードを変更する必要があります。私の調査から、カーソルを使用すれば可能であることがわかりました。
誰かがそれを実装する方法を見ることができる実際の例を持っていますか?
これは元のアダプターです。
そして、これは私が行った変更です:
android - SectionIndexer を使用した Android RecyclerView
SectionIndexer または RecyclerView の代替品の使用方法を知っている人はいますか? SectionIndexer を使用すると、高速スクロール時に ListView でセクションをポップアップできます。
android - section indexer get section for position は 0 を返します
私のプロジェクトには、拡張ArrayAdapter<String>
および実装するクラスがありますSectionIndexer
。getPositionForSection
メソッドを実装すると、getSectionForPosition
いくつかの奇妙な動作が見つかりました。
getSectionForPosition
0 を返すときにセクション インデクサーが正しく動作するのはなぜですか?
この実装は、次のような多くのチュートリアルで使用されています。
http://androidopentutorials.com/android-listview-fastscroll/
http://www.survivingwithandroid.com/2012/12/android-listview-sectionindexer-fastscroll.html
ドキュメンテーションはそれを言う
アダプター内の位置を指定すると、セクション オブジェクトの配列内の対応するセクションのインデックスが返されます。
したがって、私のリストに文字「A」で始まる 5 つの項目と文字「B」で始まるいくつかの項目がある場合、getSectionForPosition(5) は 1 を返す必要があります。
android - 項目リストビューの子に OnclickListener を実装すると、SectionIndexer が実装されます
があり、次のように行アイテムごとListView
に 3 つの item を持つ SectionIndexer で fastscroll を実装したいと考えています。ImageView
https://www.dropbox.com/s/th83hznhqzr01ds/cap2.png?dl=0
imageview 1、2、3ごとにonclicklistenerを実装したいのですが、使用すると
うまくいかない -onClickListener
捕まらない、理由がわからない。
これが私のアダプターコードです:
android - モック連絡先アプリでシフトされた SectionIndexer
編集:投稿の下部にあるソリューション。
携帯電話の連絡先をスクロールできるようにしたいAndroidアプリの連絡先画面を作成しています。電話の連絡先をインポートし、カスタム arrayadapter を使用して情報を整理し、リストビューの fastscroll オプションを有効にすることができます。さらに、スクロールすると現在のセクションの最初の文字が親指の横に表示されるようになりました。(つまり、名前が A で始まる領域にいる場合、スクロールしている親指の横のバブルに「A」が表示されます)。
私の問題は、現在の場所に基づいて正しい文字を表示する代わりに、現在地の後ろに 1 文字表示することです。たとえば、私は連絡先の B セクションにいて、「A」という文字が表示されています。私が間違っていることについて何か考えはありますか?
これが私のアダプターです:
この作業を行うことになったコードは次のとおりです。