Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android ListView绑定到自定义类_Java_Android_Android Layout_Android Widget_Android Listview - Fatal编程技术网

Java Android 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)

我有一个从XML布局创建的自定义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;
};
公开课{
私人身份;
非公开名单会议;
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);
返回视图;
}
});
}