首页 > 解决方案 > 当我从 MainActivity 调用 getAllList 时,为什么会得到一个空的 arrayList?

问题描述

这是 listView 的自定义适配器,它似乎工作正常。问题是我无法访问任何值(特别是计时器)。我尝试将值添加到数组列表并创建一个返回它的方法,但它只返回一个空的数组列表。我使用 toast 来检查 allList 的大小,因为在 getView 方法中添加了项目,它显示项目正在正确添加,但是当我在 MainActivity 中调用 get allList 时,它返回一个空列表。

public class TSDataAdapter extends ArrayAdapter<TSData>
{
    private ArrayList<TSData> allList;

    public TSDataAdapter(Context context, int resource, ArrayList<TSData> tsdList)
    {
        super(context, resource, tsdList);
        allList = new ArrayList<>();
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent)
    {
        if(convertView == null)
        {
            convertView = LayoutInflater.from(getContext()).inflate(R.layout.list_element, parent, false);
        }

        TextView subTitleTextView = (TextView) convertView.findViewById(R.id.titleTextView);
        TextView countTextView = (TextView) convertView.findViewById(R.id.countTextView);
        Chronometer chr = convertView.findViewById(R.id.chronometer);

        String subTitle = getItem(position).getSubTitle();
        int count = getItem(position).getCount();
        
        allList.add(new TSData(subTitle, count, new Timer(chr)));

        subTitleTextView.setText(subTitle);
        countTextView.setText(Integer.toString(count));

        return convertView;
    }

    public ArrayList<TSData> getAllList()
    {
        return allList;
    }
}

标签: javaandroid

解决方案


推荐阅读