ArrayAdapter没有加载图片

时间:2016-07-17 11:01:40

标签: android image android-layout adapter

我有一些图片要加载到我的列表视图中,我的自定义适配器(仅包含图像视图)下面是我的代码

    public class menuadapter extends ArrayAdapter<Integer> {

    int[]images;
    Context context;

    public menuadapter(Context context, int[] imgs) {
        super(context,R.layout.menurow, imgs);

        this.context=context;
        this.images=imgs;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View row = inflater.inflate(R.layout.menurow,parent,false);
        ImageView menuimg = (ImageView) row.findViewById(R.id.menuimg);
        menuimg.setImageResource(images[position]);
        return row;
    }
}

和主要活动

int[] images={R.mipmap.coding,R.mipmap.newsfeed,R.mipmap.comm,R.mipmap.contactus};


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ListView menulist = (ListView ) findViewById(R.id.mainmenu);
    menuadapter menuadapter = new menuadapter(this,images);
    menulist.setAdapter(menuadapter);
}

当我运行应用程序时它只显示没有:)但如果我添加一个字符串数组到我的适配器它工作正常?任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

你应该这样做,我检查它工作正常。

如何设置适配器

Integer[] images={R.mipmap.coding,R.mipmap.newsfeed,R.mipmap.comm,R.mipmap.contactus};
ListView menulist = (ListView) findViewById(R.id.mainmenu);
menuadapter menuadapter = new menuadapter(this, R.layout.menurow, images);
menulist.setAdapter(menuadapter);

<强> menuadapter.java

public class menuadapter extends ArrayAdapter<Integer> {

        private Integer[] images;

        public menuadapter(Context context, int resource, Integer[] objects) {
            super(context, resource, objects);

            images = objects;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {

            LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View row = inflater.inflate(R.layout.menurow,parent,false);
            ImageView menuimg = (ImageView) row.findViewById(R.id.menuimg);
            menuimg.setImageResource(images[position]);
            return row;
        }
    }

希望这会对你有所帮助。