我从List<Service>
收到getParcelableArrayListExtra()
现在我需要将收到的对象填充到android ListView中
我尝试以下列方式填充ListView。将填充ListView以显示对象引用ID。而不是显示内容。
如何显示此列表中的内容。
实施如下:
List<Service> serviceCart = getIntent().getParcelableArrayListExtra("serviceCart");
ListView listView = (ListView) findViewById(R.id.lv_choosed_services);
ArrayAdapter<Service> serviceArrayAdapter = new ArrayAdapter<Service>(this,android.R.layout.simple_list_item_1,serviceCart);
listView.setAdapter(serviceArrayAdapter);
答案 0 :(得分:1)
打开ArrayAdapter
并继续阅读第405行至第410行
final T item = getItem(position);
if (item instanceof CharSequence) {
text.setText((CharSequence) item);
} else {
text.setText(item.toString());
}
你在做什么:
如果您的商品为String
Adpater.getView(params)
,则会使用该商品,否则将使用item.toString()
。在您的Service.java
中,您没有toString()
,因此应用程序使用默认默认toString()
你应该做什么:
ArrayAdapter
并填充您的视图toString()
中的Service.java
并仅使用您希望在适配器中填充的值,例如service_name
和/或service_code
,默认实现将完成剩下的工作。 注意:强>
请阅读Naming Conventions,建议不要将service_name
对象命名为serviceName
。