Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.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 studio中的ArrayList结果大小为0_Java_Android_Arraylist - Fatal编程技术网

Java android studio中的ArrayList结果大小为0

Java android studio中的ArrayList结果大小为0,java,android,arraylist,Java,Android,Arraylist,为什么结果是这样。大小给了我一个零值?我的arraylist重置了吗?或者我需要初始化变量“result” 这是我的密码: protected void onPostExecute(ArrayList<Event> result) { Toast.makeText(getApplicationContext(), "result " + (result.size()), Toast.LENGTH_

为什么结果是这样。大小给了我一个零值?我的arraylist重置了吗?或者我需要初始化变量“result”

这是我的密码:

    protected void onPostExecute(ArrayList<Event> result) {
        Toast.makeText(getApplicationContext(),
                "result " + (result.size()),
                Toast.LENGTH_SHORT).show();
        for (int i = 0; i < result.size(); i++) {
            int day = Integer.parseInt(result.get(i).getDay());  //25
            int month = Integer.parseInt(result.get(i).getMonth()); //12
            int year = Integer.parseInt(result.get(i).getYear()); // 1988

            Calendar c = Calendar.getInstance();
            c.set(year, month-1, day, 0, 0);
            Date greenDate = c.getTime();


            if (caldroidFragment != null) {

                caldroidFragment.setBackgroundResourceForDate(R.color.BlueViolet, greenDate);

            }

        }

    }
}
}

这是我的模型课:

  private class GetEvents extends AsyncTask<Void, Void, ArrayList<Event>> {

    @Override
    protected ArrayList<Event> doInBackground(Void... params) {
        events.clear();

        if (c.moveToFirst()) {
            do {
                Event event = new Event();

                event.setEVENT(c.getString(c.getColumnIndex(CalendarContract.Events.TITLE)));
                event.setLOCATION(c.getString(c.getColumnIndex(CalendarContract.Events.EVENT_LOCATION)));
                event.setDESCRIPTION(c.getString(c.getColumnIndex(CalendarContract.Events.DESCRIPTION)));
                event.setStartDate(c.getLong(c.getColumnIndex(CalendarContract.Events.DTSTART)));
                event.setEndDate(c.getLong(c.getColumnIndex(CalendarContract.Events.DTEND)));

                events.add(event);
            } while (c.moveToNext());
            c.close();
        }

        return events;
    }

有人能帮我吗?请告诉我,我很难对其进行编码。

你能说明你是如何调用doInBackground的,以及这个结果是如何传递给OnPostExecute的吗?我在我的onMonthChange中调用我的doInBackground,new GetEvents.execute;哦,我想问题是结果什么都没通过,对吗?在我的arraylist中,我只将那个结果声明为变量,我做错了吗?是的,这是可能的,或者你们正在试图在列表完成任务之前访问它。getevents扩展了asynctask类如果您正在运行asynctask,并且将其视为同步任务,那么您没有结果,我的建议是添加日志以查看到底发生了什么请自行回答并将其标记为已回答或删除问题。