リストビューアイテムにボタンを追加しました。ボタンをクリックした後、ボタンが無効になります。下のsetOnClickListenerをカスタムアダプタのボタンに使用しましたが、問題はボタンをクリックしたときに別のリスト項目のボタンも無効になることです。たとえば、アイテム1のボタンをクリックすると、アイテム1のボタンは無効になりますが、アイテム4のボタンも同時に無効になりますが、クリックしませんでした。 また、上下にスクロールすると、すべてのアイテムのボタンがランダムに有効と無効になります。 これはなぜ起こっているのですか?Android:リストビューでボタンを無効にする
0
A
答えて
2
私はこの問題に直面したときにとても不満でした!
ここでの問題は、リストビューはボタンの状態を覚えていないことです。それはバグだけど、とにかく私は道が必要でした、そして、これは私がしたことです。
あなたはビューアホルダー付きのカスタムアダプターを使用していると思います。あなたが正しい道にいることを意味します。あなたはあなたのリスト内の項目の数と同じ大きさのブール値の配列を保つ必要があります。 btnClick()
で配列内の項目の状態を設定します。
今すぐスクロールするか、リストを再描画するようにするたびにgetView()
が呼び出されます。アイテムの状態についてはgetView()
にチェックを入れ、有効/無効にします。もう1つ、チェックのためにif{}
とelse{}
の両方を実装してください。
if(checked){
holder.viewBtn.setEnabled(false);
}else{
holder.viewBtn.setEnabled(true);
}
これを行わないと、奇妙な動作が表示されます。もう1つのことは、
if(convertview == null){
//create the holder
}else{
convertview = getTag();
}
の方法の場合は、上記の手順の後に状態を入力することを確認します。
私はあなたの実装を見たことがありませんが、アイテムのボタンをポップアップして、それを使用してリストからアイテムを削除しなければなりませんでした。だから私は国家を維持するために特別な注意を払わなければならなかった。
基礎となるデータが変更されたら状態に注意してください。
長い記事については申し訳ありませんが、問題は:(
ようになっている私は、基本的なformat
でソリューションを持っているリンクを見つけました
1
holder.viewBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
holder.viewBtn.setEnabled(false);
showInfo();
} });
ListView
が誤った方法でView
Sを再利用するので、これが起こっています。 View
を再利用せずに独自のListAdapter
を実装するか、Googleにバグレポートを提出してください
関連する問題
- 1. Androidボタンのテキストを無効にする
- 2. Androidグリッドのボタンを無効にする
- 3. リストビューのAndroidボタン
- 4. リストビューのスイープアイテムを無効にする
- 5. ボタンを無効にする
- 6. Android DroidGapの無効化戻るボタン
- 7. ボタンセレクターでボタンを無効にする
- 8. ラジオボタンでボタンを無効にする
- 9. プロセスでボタンを無効にする
- 10. テキストフィールドが空の場合にAndroidボタンを無効にする
- 11. Androidルーピング無限リストビュー?
- 12. 無効なボタンのツールチップを無効にする
- 13. 「続ける」ボタンを無効にする
- 14. 戻るボタンを無効にする
- 15. 戻るボタンを無効にする
- 16. Android ActionBar.Tabを有効/無効にする
- 17. NSComboBoxボタンを隠す/無効にする
- 18. ボタンのマウスオーバーを無効にする
- 19. iOSのボタンを無効にする
- 20. 送信ボタンを無効にする
- 21. バリデーションエラーのボタンを無効にする
- 22. UIAlertViewボタンを無効にする
- 23. ACPI電源ボタンを無効にする
- 24. aspxページのボタンを無効にする
- 25. 検索ボタンを無効にする
- 26. ボタンを無効にする方法JS
- 27. アンドロイドキーパッドのボタンを無効にする
- 28. デルファイのTMonthCalendar - ボタンを無効にする
- 29. ボタンを無効にする方法asp.net
- 30. JQueryを無効にするボタン