Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.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)_Java_Android - Fatal编程技术网

Java 不兼容的类型正在尝试。进入自定义适配器(Android)

Java 不兼容的类型正在尝试。进入自定义适配器(Android),java,android,Java,Android,我一直在尝试在我的第一个android应用程序中使用自定义适配器 这是我的应用程序中的代码: CustomAdapter类: class CustomListAdapter extends BaseAdapter { Context mContext; List<String> notes; public CustomListAdapter (Context context, List notes) { mContext = context; this.n

我一直在尝试在我的第一个android应用程序中使用自定义适配器

这是我的应用程序中的代码:

CustomAdapter类:

class CustomListAdapter extends BaseAdapter {




Context mContext;
List<String> notes;


public CustomListAdapter (Context context, List notes) {
    mContext = context;
    this.notes = notes;

}


@Override
public int getCount() {
    return notes.size();

}

@Override
public String getItem(int i) {
    return notes.get(i);
}

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

}

// This method is called to draw each row of the list
@Override
public View getView(int index, View convertView, final ViewGroup parent) {

    View vi = convertView;

    if (vi == null) {

        LayoutInflater inflater;
        inflater = LayoutInflater.from(parent.getContext());
        vi = inflater.inflate(R.layout.item_list, parent, false);

    }

    final Note noteModel = notes.get(index);




    TextView date = (TextView) vi.findViewById(R.id.date);
    date.setText("" + noteModel.getDate());
    TextView title = (TextView) vi.findViewById(R.id.title);
    title.setText(noteModel.getTitle());
    TextView content = (TextView) vi.findViewById(R.id.content);
    content.setText(noteModel.getNote());
    final View view = View.inflate(mContext, R.layout.item_list, null);



    return view;
}

我遇到的问题是,当我尝试创建

    final Note noteModel = notes.get(index);
在自定义适配器类的末尾,它给出了一个错误:“不兼容的类型,找到:字符串,必需:注意”

我知道错误的意思,但我一直在部分复制我在互联网上找到的这个例子:

public class CustomAdapter extends BaseAdapter {

private static final String TAG = CustomAdapter.class.getSimpleName();
ArrayList<DataModel> listArray;

public CustomAdapter() {
    listArray = new ArrayList<DataModel>(5);
    listArray.add(new DataModel("Title1", "Java", new Date()));
    listArray.add(new DataModel("name2",  "Python", new Date()));
    listArray.add(new DataModel("name3",  "Django", new Date()));
    listArray.add(new DataModel("name4",  "Groovy", new Date()));
    listArray.add(new DataModel("name5", "Maven", new Date()));
}

@Override
public int getCount() {
    return listArray.size();    // total number of elements in the list
}

@Override
public Object getItem(int i) {
    return listArray.get(i);    // single item in the list
}

@Override
public long getItemId(int i) {
    return i;                   // index number
}

@Override
public View getView(int index, View view, final ViewGroup parent) {

    if (view == null) {
        LayoutInflater inflater = LayoutInflater.from(parent.getContext());
        view = inflater.inflate(R.layout.single_list_item, parent, false);
    }

    final DataModel dataModel = listArray.get(index);

    TextView title = (TextView) view.findViewById(R.id.title);
    title.setText(dataModel.getTitle());

    TextView content = (TextView) view.findViewById(R.id.content);
    content.setText(dataModel.getContent());

    TextView date = (TextView) view.findViewById(R.id.date);
    date.setText("" + dataModel.getDate());


    return view;
在那个例子中,这个人做了和我尝试做的相同的事情,但是代码运行,等等。 据我所见,代码与我的Note类和自定义适配器非常相似

我已经试着弄明白这两天了,但我似乎无法让它工作。 我的应用程序中还有几个其他的类,但我认为它们不相关,所以我没有在上面发布它们

如果有人能告诉我如何解决这个问题,我将非常感激

提前谢谢

干杯
Corey

更改
列表注释中的声明
列表注释
CustomListAdapter
类中

List<Note> notes;
列表注释;

上面的声明声明了一个
列表
包含
注释
对象。

您好,感谢heaps,这太完美了,我从来没有注意到这个代码。再次感谢,干杯,科里
public class CustomAdapter extends BaseAdapter {

private static final String TAG = CustomAdapter.class.getSimpleName();
ArrayList<DataModel> listArray;

public CustomAdapter() {
    listArray = new ArrayList<DataModel>(5);
    listArray.add(new DataModel("Title1", "Java", new Date()));
    listArray.add(new DataModel("name2",  "Python", new Date()));
    listArray.add(new DataModel("name3",  "Django", new Date()));
    listArray.add(new DataModel("name4",  "Groovy", new Date()));
    listArray.add(new DataModel("name5", "Maven", new Date()));
}

@Override
public int getCount() {
    return listArray.size();    // total number of elements in the list
}

@Override
public Object getItem(int i) {
    return listArray.get(i);    // single item in the list
}

@Override
public long getItemId(int i) {
    return i;                   // index number
}

@Override
public View getView(int index, View view, final ViewGroup parent) {

    if (view == null) {
        LayoutInflater inflater = LayoutInflater.from(parent.getContext());
        view = inflater.inflate(R.layout.single_list_item, parent, false);
    }

    final DataModel dataModel = listArray.get(index);

    TextView title = (TextView) view.findViewById(R.id.title);
    title.setText(dataModel.getTitle());

    TextView content = (TextView) view.findViewById(R.id.content);
    content.setText(dataModel.getContent());

    TextView date = (TextView) view.findViewById(R.id.date);
    date.setText("" + dataModel.getDate());


    return view;
public class DataModel {
private String title;
private String content;
private Date date;

public DataModel(String title, String content, Date date) {
    this.title = title;
    this.content = content;
    this.date = date;
}


public String getTitle() {
    return title;
}

public void setTitle(String title) {
    this.title = title;
}

public String getContent() {
    return content;
}

public void setContent(String content) {
    this.content = content;
}

public Date getDate() {
    return date;
}

public void setDate(Date date) {
    this.date = date;
}
List<Note> notes;