我有一个从XML Layout创建的Custom ListView。我想将它绑定到我的自定义数据类。 如何将该类转换为ListAdapter并将布局绑定到ListView。该课程的代码如下:
public class Sessions {
private int status;
private List<Session> sessions;
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public List<Session> getSessions() {
return sessions;
}
public void setSessions(List<Session> sessions) {
this.sessions = sessions;
}
public static class Session {
public Boolean active;
public String contributor_covu_id;
public String created_at;
public String key;
public String status;
public String name;
public String type;
};
}
答案 0 :(得分:4)
基于ListActivity创建一个Activity,并在onCreate中使用类似下面的内容。它将为每行创建一个简单的两行布局列表,并将文本设置为会话名称和会话状态。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final List<Sessions.Session> sessions = new Sessions().getSessions();
setListAdapter(new BaseAdapter() {
public int getCount() {
return sessions.size();
}
public Object getItem(int pos) {
return sessions.get(pos);
}
public long getItemId(int pos) {
return pos;
}
public View getView(int pos, View view, ViewGroup viewGroup) {
if (view == null) {
view = View.inflate(ViewTest.this, android.R.layout.two_line_list_item, null);
}
Sessions.Session session = (Sessions.Session) getItem(pos);
TextView text = (TextView) view.findViewById(android.R.id.text1);
text.setText(session.name);
text = (TextView) view.findViewById(android.R.id.text2);
text.setText(session.status);
return view;
}
});
}
答案 1 :(得分:0)
答案 2 :(得分:0)
您需要扩展ArrayAdapter类。 Here是一个很好的教程,它将向您展示如何覆盖正确的方法(尤其是getView()方法)。