我正在尝试将ListView绑定到ASMX Web服务,但是,我相信我没有正确地列出这些列:
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
try {
super.onCreate(savedInstanceState);
ListView lstView = getListView();
lstView.setChoiceMode(2); //CHOICE_MODE_MULTIPLE
lstView.setTextFilterEnabled(true);
User[] u = GetUsers();
setListAdapter(new ArrayAdapter<User>(this, android.R.layout.simple_list_item_checked, u));
} catch (Exception e) {
e.printStackTrace();
}
}
我的GetUsers()方法返回以下内容:
User.Name = "joe";
User.Age = 30;
User.Name = "joe";
User.Age = 35;
数据恢复正常,但是,如何告诉ListView要绑定哪些列?
答案 0 :(得分:0)
如果您需要显示多个列,则应切换为SimpleAdapter
或根据ListAdapter
或BaseAdapter
实施自定义ArrayAdapter
。我会延伸ArrayAdapter
并覆盖getView
。这是显示如何实现自定义适配器的official samples。
但如果您只需要1列,则可以保留现有的适配器并覆盖toString()
类的User
方法,并返回要在列表中显示的字段。