我创建了一个自定义适配器来在我的 fragment View 中显示警报对象列表。我看了很多帖子和教程,我想我终于做对了。我让我的适配器构造函数采用警报的 ArrayList。但是,当我尝试在 fragment 内创建适配器时,我收到消息
AdapterAlarm(Context, java.util.ArrayList com.runners.spo.Alarm>) in Adapter Alarm cannot be applied to (FragmentActivity, java.util.List com.runners.spo.Alarm>)
我的适配器看起来像:
public class AdapterAlarm extends ArrayAdapter<Alarm> {
public AdapterAlarm(Context context, ArrayList<Alarm> alarms) {
super(context, R.layout.alarm_item, alarms);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater layout = LayoutInflater.from(getContext());
View customview = layout.inflate(R.layout.alarm_item, parent, false);
String name = getItem(position).name;
...
TextView updatename = (TextView)customview.findViewById(R.id.name);
...
updatename.setText(name);
...
return customview;
}
我正在尝试使用 fragment 内的适配器。
private List<Alarm> alarms = new ArrayList<Alarm>();
private AdapterAlarm alarmAdapter;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_alarm, container, false);
//this or getActivity()
//problem is here
alarmAdapter = new AdapterAlarm(this, alarms);
...
我完全不知道如何处理这个问题。我不确定该列表有什么问题。
最佳答案
您的 AdapterAlarm 类需要 ArrayList<Alarm>
,但你只给它一个 List<Alarm>
。
这就是错误消息的内容。
关于java - 无法在 fragment 中创建 ArrayList 适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53594990/