Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.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 如何从列表中设置ImageResource<>;=新ArrayList<&燃气轮机;()_Java_Android_Gridview_Android Imageview - Fatal编程技术网

Java 如何从列表中设置ImageResource<>;=新ArrayList<&燃气轮机;()

Java 如何从列表中设置ImageResource<>;=新ArrayList<&燃气轮机;(),java,android,gridview,android-imageview,Java,Android,Gridview,Android Imageview,我有GridViewActivity、GridViewAdapter、FullScreenActivity和FullScreenImageAdapter。当我从GridView中单击图像时,转到FullScreenActivity,它不会显示任何内容。我还从DrawableimgDisplay.setImageResource(R.Drawable.a)进行测试这不会发生。怎么了?我怎样才能解决这个问题?求你了 在GridViewAdapter中;图像单击侦听器 private class On

我有GridViewActivity、GridViewAdapter、FullScreenActivity和FullScreenImageAdapter。当我从GridView中单击图像时,转到FullScreenActivity,它不会显示任何内容。我还从Drawable
imgDisplay.setImageResource(R.Drawable.a)进行测试这不会发生。怎么了?我怎样才能解决这个问题?求你了

在GridViewAdapter中;图像单击侦听器

private class OnImageClickListener implements View.OnClickListener {
    int _postion;

    public OnImageClickListener(int position) {
        this._postion = position;
    }

    @Override
    public void onClick(View v) {
        Intent i = new Intent(_activity, FullScreenActivity.class);
        i.putExtra("position", _postion);
        _activity.startActivity(i);

    }
}
全屏活动;从GridView获取位置,然后创建新的FullScreenImageAdapter

List<Item> mItems = new ArrayList<>();

int position = getIntent().getIntExtra("position", 0);
Log.i("Result", String.valueOf(position)); // return 0,1,2,3.. etc
adapter = new FullScreenImageAdapter(FullScreenActivity.this, mItems);
viewPager.setAdapter(adapter);
List mItems=new ArrayList();
int position=getIntent().getIntExtra(“位置”,0);
Log.i(“结果”,String.valueOf(位置));//返回0,1,2,3。。等
适配器=新的FullScreenImageAdapter(FullScreenActivity.this,mItems);
viewPager.setAdapter(适配器);
在FullScreenImageAdapter中

public class FullScreenImageAdapter extends PagerAdapter {

    List<Item> mItems = new ArrayList<>();
    Activity _activity;
    LayoutInflater inflater;

    public FullScreenImageAdapter(Activity activity, List<Item> mItems) {
        this._activity = activity;
        this.mItems = mItems;
    }

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

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == ((RelativeLayout) object);
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        ImageView imgDisplay;
        inflater = (LayoutInflater) _activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View viewLayout = inflater.inflate(R.layout.layout_fullscreen_image, container, false);
        imgDisplay = (ImageView) viewLayout.findViewById(R.id.imgDisplay);
        imgDisplay.setImageResource(R.drawable.a); // want to show from mItems List
        ((ViewPager) container).addView(viewLayout);
        return viewLayout;
    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        ((ViewPager) container).removeView((RelativeLayout) object);
    }
}
公共类FullScreenImageAdapter扩展了PagerAdapter{
List mItems=new ArrayList();
活动(u)活动;;
充气机;
公共FullScreenImageAdapter(活动,列表){
这个。_活动=活动;
this.mItems=mItems;
}
@凌驾
public int getCount(){
返回mItems.size();
}
@凌驾
公共布尔值isViewFromObject(视图,对象){
返回视图==((RelativeLayout)对象);
}
@凌驾
公共对象实例化项(视图组容器,int位置){
图像视图imgDisplay;
充气器=(LayoutInflater)\u activity.getSystemService(Context.LAYOUT\u充气器\u SERVICE);
视图布局=充气机。充气(R.layout.layout\u全屏图像,容器,错误);
imgDisplay=(ImageView)viewLayout.findViewById(R.id.imgDisplay);
imgDisplay.setImageResource(R.drawable.a);//要从mItems列表中显示
((ViewPager)容器)。添加视图(viewLayout);
返回视图布局;
}
@凌驾
公共项(视图组容器、int位置、对象){
((ViewPager)容器)。移除视图((RelativeLayout)对象);
}
}

尝试将调试点放在FullScreenImageAdapter的InstanceItem()方法上,并检查它是否正在调用。如何操作?sir在开始实际编码之前,您应该先了解这些概念。看一看。现在,在代码左侧的小条上(您可以看到行号),单击此处,您可以看到一个红点,这意味着您的代码将在调试模式下停止,您可以分析所有值。要在“调试更多”中运行,请按运行右侧的按钮或按Shift+F9。您的
mItems
似乎是
空的。您只传递了
位置
,在代码中我看不到您使用它的位置。您应该发送所选项目对象,而不是只发送位置。