java - 如何从具有多个数组的对象创建 ListView

标签 java android arrays listview object

我又迷路了。我的目标如下:

public class LogInfo implements Serializable{


public ArrayList<Point[][]> strokes;
public LinkedList<byte[]> codes;
public int[] times;

...
}

首先,我从这个对象的 ArrayList 填充 ListView。然后我从 ListView 中选择一个对象,我想用字段填充新 fragment 中的新列表

public ArrayList<Point[][]> strokes;
public LinkedList<byte[]> codes;

但是,要创建 ArrayAdapter,我不能只将对象传递给它(据我所知)。我需要传递一个数组。问题是,我想传递一个先前创建和选择的对象,然后从其字段(不仅是笔划或代码,而是两者)填充列表。

我的 ObjectAdapter 类应该是什么样子,它应该扩展什么类?要从我使用的对象的 ArrayList 中选择一个对象:

public class LogInfoObjectAdapter extends ArrayAdapter<LogInfo>

示例(现实生活):

我在 parking 场有很多车,我需要列出它们,所以我使用 ArrayAdapter 来填充列表。在我从列表(汽车对象)中选择一辆汽车后,它有两个数组(例如坏掉的灯泡和坏掉的轮胎,但两个数组的大小相同)。现在我想将新列表与所选汽车的信息一起使用。我希望它足够清楚。我的问题是要使用 ArrayAdapter 我必须在构造函数中传递一个数组,但我想传递整个对象并在我的适配器类中处理它并将选择的字段添加到 ListView

最佳答案

如果你有一个包含多个列表的对象,你不需要扩展ArrayAdapter,你可以只扩展BaseAdapter并实现需要的方法( getCount()getView() 等)。

public class Adapter extends BaseAdapter {

class LogInfo implements Serializable {


    public ArrayList<Point[][]> strokes;
    public LinkedList<byte[]> codes;
    public int[] times;
}

private LogInfo mInfo;
public Adapter(LogInfo info) {
    mInfo = info;
}



@Override
public int getCount() {
    if (mInfo != null && mInfo.strokes != null) {
    return mInfo.strokes.size();
    }
    return 0;
}

@Override
public Object getItem(int i) {
    return null;
}

@Override
public long getItemId(int i) {
    return 0;
}

@Override
public View getView(int i, View view, ViewGroup viewGroup) {
    if (mInfo != null) {
    Point[][] p = mInfo.strokes.get(i);
    byte[] b = mInfo.codes.get(i);
    //create the view
    }
    return null;
}

关于java - 如何从具有多个数组的对象创建 ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16647326/

相关文章:

java - 使用相同的连接环境连接启用 SSL 和禁用 SSL 的 JMX 远程代理

android - 配置 Qt Creator 以将 Clang 与 Qt for Android 结合使用

java - 比较字符串时使用 Comparable 接口(interface)

Java 不安全或未经检查的表达式 : cloning an arraylist

java - Tango 图像格式 YCRCB_420_SP

Android - 上传到 Dropbox

javascript - 合并 JSON 数据

php - 将 PHP 对象转换为关联数组

java - 预计算大型值表

java - 安装带有依赖的jar到maven仓库(Android gcm-server push library)