Подтвердить что ты не робот

Что такое параметр convertView в методе ArrayAdapter getView()

Может ли кто-нибудь сказать мне, что используется параметр convertView в методе getView() класса Adapter?

Ниже приведен пример кода из здесь:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View v = convertView;
    if (v == null) {
        LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        v = vi.inflate(R.layout.row, null);
    }
    Order o = items.get(position);
    if (o != null) {
        TextView tt = (TextView) v.findViewById(R.id.toptext);
        TextView bt = (TextView) v.findViewById(R.id.bottomtext);
        if (tt != null) {
            tt.setText("Name: "+o.getOrderName());                            }
        if(bt != null){
            bt.setText("Status: "+ o.getOrderStatus());
        }
    }
    return v;
}

Что мы должны пройти через convertView?

Что я нашел, возьмите здесь:

Получить представление, отображающее данные в указанной позиции в набор данных. Вы можете создать представление вручную или раздуть его с Файл макета XML. Когда представление завышено, родительский вид (GridView, ListView...) будут применять параметры макета по умолчанию, если вы не используете inflate (int, android.view.ViewGroup, boolean), чтобы указать корневой режим и предотвратить прикрепление к корню.

Параметры

position - позиция элемента в наборе данных адаптера элемента, который мы хотим видеть.

convertView - старое представление для повторного использования, если это возможно. Примечание. Вы должны проверить, что это представление не является нулевым и соответствующего типа до с помощью. Если невозможно преобразовать это представление, чтобы отобразить правильные данные, этот метод может создать новое представление.

parent - родительский элемент, который в конечном итоге будет привязан к возврату

возвращает - Вид, соответствующий данным в указанной позиции.

4b9b3361

Ответ 1

Вы не должны сами называть этот метод.

Android ListView использует Adapter для заполнения Views. Когда отображается ListView, он начинает называть getView(), чтобы заполнить себя. Когда пользователь прокручивает новое представление, должно быть создано, поэтому для производительности ListView отправляет Adapter старое представление, которое оно больше не использовало в параметре convertView.