Передать повторное поле сообщения ProtocolBuffer в настраиваемый адаптер списка

1

У меня есть сообщение protobuf типа OrderList

message OrderList {
  repeated Order orders = 1;
}

Я хочу передать этот список заказов в пользовательский адаптер, который я написал.

void guiUpdateOrders(final OrderList new_order_list) {
  setListAdapter(new OrderRowAdapter(OrderActivity.this, R.layout.order_row, 
            (ArrayList<Order>) new_order_list.getOrdersList()));
}

Но когда я это делаю, я получаю следующую ошибку

java.lang.ClassCastException: java.util.Collections$UnmodifiableRandomAccessList
  • 0
    getOrdersList() , что на самом деле возвращает getOrdersList() ?
  • 0
    Для сообщения protobuf типа OrderList getOrdersList () возвращает List <Order>
Теги:
protocol-buffers

1 ответ

1
Лучший ответ

Странно, что ListView хочет, чтобы измененная копия List была передана адаптеру.

Можете ли вы попробовать дать ему то, что он хочет?

 setListAdapter(new OrderRowAdapter(OrderActivity.this, R.layout.order_row, 
        new ArrayList(new_order_list.getOrdersList())));

Ещё вопросы

Сообщество Overcoder
Наверх
Меню