当前位置: 首页 > 知识库问答 >
问题:

错误:找不到适合添加(int,int)的方法

宇文育
2023-03-14

我需要创建一个以id和值作为资源的ArrayList,这样我将来就可以知道给定图标在哪个id下。不幸的是,我的解决方案遇到了一个问题,如何解决?

我给出了一个错误:

错误:找不到添加(int,int)航路点图标的合适方法。添加(0,R.drawable.ic_point_默认值)

public class WaypointsIcons {

    public class IntValues {
        public int id;
        public int icon;
    }

    ArrayList<IntValues> waypointsIcons = new ArrayList<>();

    public ArrayList<IntValues> getWapointsIcons() {

        waypointsIcons.add(0, R.drawable.ic_point_default);

        return waypointsIcons;
    }
}

public class ImageSpinner extends ArrayAdapter<Integer> {
    private ArrayList<WaypointsIcons.IntValues> images;

    public ImageSpinner(Context context, ArrayList<WaypointsIcons.IntValues> images) {
        super(context, android.R.layout.simple_spinner_item, images);
        this.images = images;
    }

    @Override
    public View getDropDownView(int position, View convertView, ViewGroup parent) {
        return getImageForPosition(position);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        return getImageForPosition(position);
    }

    private View getImageForPosition(int position) {
        ImageView imageView = new ImageView(getContext());
        imageView.setBackgroundResource(images.get(position).icon);
        imageView.setLayoutParams(new AbsListView.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
        return imageView;
    }

}

ArrayList<WaypointsIcons.IntValues> waypointsIcons = new WaypointsIcons().getWapointsIcons();
ImageSpinner adapter = new ImageSpinner(context, waypointsIcons);
spinnerIconWaypoint.setAdapter(adapter);

共有1个答案

宰子琪
2023-03-14

getWapointsIcons中,您希望将IntValues添加到ArrayList中。您需要在getWapointsIcons中执行以下操作:

IntValues values=new IntValues(0, R.drawable.ic_point_default);
waypointsIcons.add(values);
return waypointsIcons;

ArrayList/List将无法访问add

此外,要支持上述代码,您必须将构造函数添加到IntValues类中:

public class IntValues {
        public int id;
        public int icon;
   public IntValues(int id, int icon){
      this.id=id;
      this.icon=icon;
   }
 }
 类似资料:
  • 我试图用java创建一个分数计算器,我使用drop box int Joptionpane来显示算术运算,但是每当我编译代码时,总是会出现错误。 这是我得到的全部错误。 .java:47:错误:找不到适合showInputDialog(,String,int,,String[],String)的方法String input=(String)JOptionPane。showInputDialog(n

  • 算法问题:给定一个非负整数列表,将它们排列成最大的数。 例如,给定[3,30,34,5,9],形成的最大数是9534330。 注意:结果可能很大,因此需要返回一个字符串,而不是整数。 而且我还在想办法避免使用额外的空间。

  • 我对编程很陌生,一直在尝试为学校项目的片段添加一个列表视图+arrayadapter。已经提到了这个问题,但没有用。https://stackoverflow.com/questions/32350275/no-application-constructor-found-for-ArrayAdapterMainListActivity-getBlogPostStask#= }

  • 我正在绑定这个库: https://github.com/mancj/MaterialSearchbar 一般来说,它是有效的,但是,当我试图添加RecycerView的支持时,我遇到了一个问题,我添加了以下库: Android绑定thorw“不实现继承的抽象成员”recyclerview.adapter.oncreateViewholder(ViewGroup,int)“ 但它不起作用,我开始得

  • 创建一个名为平均值的方法,用于计算作为参数传递的数字的平均值。之前创建的方法和必须在此方法中使用! 在以下模板中定义方法: 我正在努力将sum()方法放在average()方法中。我不知道如何让它工作,因为我在eclipse中不断遇到这样的错误: 这是我的代码: 我知道这与我将average方法定义为double类型有关,但我尝试将它们改为double,并调用我的变量“int avg=…”作为“双

  • 我在运行代码时得到了这个错误,我在跟踪treehouse Build a blog reader android应用程序,现在我得到了这个错误 错误:(120,52)错误:找不到适合ArrayAdapter(MainListActivity.GetBlogPostStask,int,String[])的构造函数ArrayAdapter.ArrayAdapter(Context,int,int)不适