Насколько медленным этот метод, действительно? У меня есть ListView и пользовательский адаптер, который заполнит мой список со следующей выборки XML:.setVisibility (View.VISIBLE) отставание моего UI
<RelativeLayout>
<TextView />
<View />
<TextView />
<RelativeLayout>
<View android:id="@+id/1" /> <--Take note of this one
<TextView android:id="@+id/2" /> <--And this one too
</RelativeLayout>
</RelativeLayout>
элемент управления ListView сама проходит гладко, прокручивает хорошо и нагрузка не является проблемой. Функциональность ListView включает в себя изменение видимости двух вложенных представлений (те, которые я отметил, чтобы отметить) при щелчке по строке; по умолчанию, они установлены со свойством:
android:visibility="gone"
Что я делаю, я проверить видимость двух представлений и переключить свой статус видимости, соответственно, например, как, например:
View v = findViewById(R.id.1);
TextView tv = (TextView) findViewById(R.id.2);
if (v.getVisibility() == View.VISIBLE) {
v.setVisibility(View.GONE);
tv.setVisibility(View.GONE);
} else {
v.setVisibility(View.VISIBLE);
tv.setVisibility(View.VISIBLE);
}
сейчас , все это происходит хорошо, и ошибок нет. Представления переключаются соответственно. Но вот вопрос в том, почему пользовательский интерфейс настолько медленный? Я пробовал комментировать код по строкам, и очень очевидно, что виноваты два метода setVisibility(). Всегда ли так медленно, и есть ли способ ускорить процесс?
Кроме того, я не могу просто переключить видимость оболочки RelativeLayout, мне нужно иметь возможность управлять двумя внутренними представлениями отдельно. Выше приведен пример кода, но он очень похож на то, что у меня есть.
Помогите оценить!
Спасибо, Рей
Сделать их НЕВИДИМОСТЬ действительно ускорила процесс, но я все еще не понимаю: почему это происходит? – Wakka02
Если вы делаете View invisible, это похоже на то, чтобы сделать его полностью прозрачным. Если вы уйдете, если вам нужно исчезнуть из макета, что заставляет операцию занимать больше времени. Я просто догадываюсь. Также вы можете попытаться использовать совет, предоставленный Sandeep, возможно, он немного ускорится. – Marek
Я просто наткнулся на это - медлительность в моем случае должна была с переоценкой и перерисовкой всего элемента ui - GONE триггера недействительности макета, в то время как INVISIBLE этого не делают. Огромное повышение производительности в моем случае. – gibffe