Java Android ListView绑定到自定义类
我有一个从XML布局创建的自定义ListView。我想将其绑定到我的自定义数据类。 如何将该类转换为ListAdapter并将布局绑定到ListView。课程代码如下:Java Android ListView绑定到自定义类,java,android,android-layout,android-widget,android-listview,Java,Android,Android Layout,Android Widget,Android Listview,我有一个从XML布局创建的自定义ListView。我想将其绑定到我的自定义数据类。 如何将该类转换为ListAdapter并将布局绑定到ListView。课程代码如下: public class Sessions { private int status; private List<Session> sessions; public int getStatus() { return status; } public void setStatus(int status)
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;
};
公开课{
私人身份;
非公开名单会议;
public int getStatus(){
返回状态;
}
公共无效设置状态(int状态){
这个状态=状态;
}
公共列表getSessions(){
返回会议;
}
公共会话(列表会话){
这个。会话=会话;
}
公共静态课堂{
公共布尔活动;
公共字符串contributor_covu_id;
在上创建的公共字符串;
公共字符串密钥;
公共字符串状态;
公共字符串名称;
公共字符串类型;
};
}看看这个
您可以搜索有关如何制作简单列表适配器的教程。这显示了一种将列表绑定到适配器的简单方法。您可以找到许多其他更高级的示例。请查看此示例
您可以搜索有关如何制作简单列表适配器的教程。这显示了一种将列表绑定到适配器的简单方法。您可以找到许多其他更高级的示例。您需要扩展ArrayAdapter类。是一个很好的教程,将向您展示如何重写正确的方法(尤其是getView()方法)。您需要扩展ArrayAdapter类。这是一个很好的教程,将向您展示如何重写正确的方法(尤其是getView()方法)。基于ListActivity创建一个活动,并在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;
}
});
}
@覆盖
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
最终列表会话=新会话().getSessions();
setListAdapter(新的BaseAdapter(){
public int getCount(){
return sessions.size();
}
公共对象getItem(int-pos){
返回会话。获取(pos);
}
公共长getItemId(int-pos){
返回pos;
}
公共视图getView(内部位置、视图视图、视图组视图组){
如果(视图==null){
视图=视图.充气(ViewTest.this,android.R.layout.two\u line\u list\u项,空);
}
Sessions.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);
返回视图;
}
});
}
基于ListActivity创建一个活动,并在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;
}
});
}
@覆盖
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
最终列表会话=新会话().getSessions();
setListAdapter(新的BaseAdapter(){
public int getCount(){
return sessions.size();
}
公共对象getItem(int-pos){
返回会话。获取(pos);
}
公共长getItemId(int-pos){
返回pos;
}
公共视图getView(内部位置、视图视图、视图组视图组){
如果(视图==null){
视图=视图.充气(ViewTest.this,android.R.layout.two\u line\u list\u项,空);
}
Sessions.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);
返回视图;
}
});
}