отображение элемента только в определенном элементе списка - PullRequest
0 голосов
/ 04 августа 2011

Я пытаюсь получить кнопку, которая будет отображаться в моем элементе списка (объявленном как android: visibility: "lost" в XML), чтобы она отображалась как видимая, когда я выполняю некоторые жесты на нем. Однако как я могу на самом деле правильно уведомить метод getView, чтобы кнопка отображалась только в элементе списка?


Я попытался использовать getChildAt (position), в результате чего сразу отображалось несколько кнопок.

Я попытался передать позицию, например, обнаружил, что жест был выполнен из pointToPosition, и передал его в адаптер для отображения методом getView, но у него была та же проблема с отображением нескольких одновременно.

Кто-нибудь знает, как я могу решить эту проблему?

1 Ответ

0 голосов
/ 04 августа 2011

Я думаю, что у вас может быть неправильное понимание того, как Adapter.getView () работает для создания или повторного использования макетов, при рендеринге ListView он также должен быть быстрым, поэтому не рекомендуется использовать условные манипуляции в этом методе.Хотя ListView.getChildAt () может работать, он не использует API эффективно.Ваш адаптер будет иметь setViewBinder (), если вы не используете ArrayAdapter (если так, я предлагаю использовать SimpleAdapter из-за дополнительных функций).Используйте вашу реализацию ViewBinder для переключения видимости кнопки.

Если вы предпочитаете продолжать использовать ArrayAdapter, используйте ListView.getChildAt(int) до findViewById(R.id.your_button).setVisibility().Если это то, что вы уже пробовали, и в нем установлены все видимые кнопки, пожалуйста, опубликуйте соответствующий код.

...