gpt4 book ai didi

java - ArrayList 无法转换为 int

转载 作者:太空狗 更新时间:2023-10-29 15:45:03 27 4
gpt4 key购买 nike

这可能是一个简单的问题,我也看到过类似的问题,但我看不出他们的回答如何适用于我的,所以我提前道歉,但我收到了这个错误:
不兼容的类型:ArrayList 无法转换为 int

这是一项作业,我不确定自己做错了什么。

这是我的代码:

package com.example.android.miwok;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ListView;

import java.util.ArrayList;

public class NumbersActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_numbers);

// Create a list of words
ArrayList<Word> words = new ArrayList<Word>();
words.add(new Word("one", "lutti"));
words.add(new Word("two", "otiiko"));
words.add(new Word("three", "tolookosu"));
words.add(new Word("four", "oyyisa"));
words.add(new Word("five", "massokka"));
words.add(new Word("six", "temmokka"));
words.add(new Word("seven", "kenekaku"));
words.add(new Word("eight", "kawinta"));
words.add(new Word("nine", "wo’e"));
words.add(new Word("ten", "na’aacha"));

// Create an {@link WordAdapter}, whose data source is a list of {@link Word}s. The
// adapter knows how to create list items for each item in the list.
WordAdapter adapter = new WordAdapter(this, words);

// Find the {@link ListView} object in the view hierarchy of the {@link Activity}.
// There should be a {@link ListView} with the view ID called list, which is declared in the
// activity_numbers.xml layout file.
ListView listView = (ListView) findViewById(R.id.list);

// Make the {@link ListView} use the {@link WordAdapter} we created above, so that the
// {@link ListView} will display list items for each {@link Word} in the list.
listView.setAdapter(adapter);
}

我在这一行收到错误:

WordAdapter adapter = new WordAdapter(this, words);

这是我的适配器代码:

package com.example.android.miwok;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;

import java.util.ArrayList;

/**
* Created by danle on 7/25/2016.
*/
public class WordAdapter extends ArrayAdapter<Word> {
public WordAdapter(Context context, int resource) {
super(context, resource);
}

public WordAdapter(NumbersActivity context, int resource, ArrayList<Word> words) {
super(context, resource, words);
}




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

最佳答案

问题是你的第二个构造函数。 ArrayAdapter 没有 super 构造函数只需要一个上下文和一个 ArrayList<Word> .所以 super 正在调用 (Context, int)并尝试将单词转换为整数资源。

public WordAdapter(NumbersActivity context, ArrayList<Word> words) {
super(context, words);
}

你的构造函数应该是

public WordAdapter(NumbersActivity context, int resource, ArrayList<Word> words) {
super(context, resource, words);
}

关于java - ArrayList <Word> 无法转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38612722/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com