0

次のクラスがあります。

private class SimpleExistedTasksAdapter<CalendarTask> extends ArrayAdapter<CalendarTask> {

    private Context context;
    private List<CalendarTask> tasks;

        public SimpleExistedTasksAdapter(Context context,
                int textViewResourceId, List<CalendarTask> objects) {
            super(context, textViewResourceId, objects);

            this.context=context;
            this.tasks=objects;
        }

        @Override
        public View getView(int position, View view, ViewGroup group) {
            LayoutInflater inflater=LayoutInflater.from(context);
            View v=inflater.inflate(R.layout.existed_tasks_item_layout, null);
            CalendarTask task=tasks.get(position);
            TextView priorityView=(TextView)v.findViewById(R.id.textViewPriorityColorIndicator);
            TextView title=(TextView)v.findViewById(R.id.textViewTaskTitle);
            task.getPriority();
            return null;
        }
}

そして、次の問題があります。CalendarTaskクラスにはgetPriority()メソッドがありますが、Eclipseは、「タスク」は単なるオブジェクトであり、オブジェクトのメソッドを除くメソッドを含まないと言っています(CalendarTaskのインポートがあります)。

4

1 に答える 1

-1

Java をいじってからしばらく経ちましたが、CalendarTask.get メソッドの戻り値の型を確認してください。次の行で Object から CalendarTask へのキャストを実行する必要があると思われます。

CalendarTask task=tasks.get(position);

私の記憶が正しければ、コードは次のようになります。

CalendarTask task = (CalendarTask)tasks.get(position);
于 2012-10-07T12:59:35.797 に答える