Android 如何将数据从数组列表检索到ImageView?

Android 如何将数据从数组列表检索到ImageView?,android,android-studio,imageview,Android,Android Studio,Imageview,我正在尝试从阵列列表在imageView中显示数据。然而,我越来越 java.lang.RuntimeException:无法实例化活动组件信息{com.example.gorila.sqlite_grid_view/com.example.gorila.AvatarShop.imageView}:java.lang.NullPointerException 我正在尝试制作一个简单的功能,当用户从我的自定义列表中购买图像时,存储图像的索引将添加到我的数组列表中,然后将其传递到我的imageVie

我正在尝试从阵列列表在imageView中显示数据。然而,我越来越

java.lang.RuntimeException:无法实例化活动组件信息{com.example.gorila.sqlite_grid_view/com.example.gorila.AvatarShop.imageView}:java.lang.NullPointerException

我正在尝试制作一个简单的功能,当用户从我的自定义列表中购买图像时,存储图像的索引将添加到我的数组列表中,然后将其传递到我的imageView活动类中,然后用户将能够按下一个按钮,用户可以切换到新购买的图像

因此,它将从MainActivity->DetailActivity->imageView开始

主要活动:

int[] avatarImage = {R.mipmap.blademaster,R.mipmap.gunslinger,R.mipmap.pyro,R.mipmap.darthvader};
listView = (ListView) findViewById(R.id.avatarlv);

MyAdapter myAdapter = new MyAdapter(MainActivity.this,titles,harga,avatarImage);
listView.setAdapter(myAdapter);

listView.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View v,
                            int position, long id) {
        Intent mIntent = new Intent(MainActivity.this,DetailActivity.class);
        mIntent.putExtra("title",titles[position]);
        mIntent.putExtra("avatarImages",avatarImage[position]);
        mIntent.putExtra("harga",harga[position]);
        startActivity(mIntent);
    }
});
final ArrayList<Integer> list = new ArrayList<Integer>();

btnYes.setOnClickListener(new View.OnClickListener(){
    @Override
    public void onClick(View v) {
        if (mymoney > harga ) { // when my money is > price of the item
            list.add(mBundle.getInt("avatarImages"));
            Toast.makeText(DetailActivity.this, "Successfully Bought the avatar", Toast.LENGTH_LONG).show();
            Intent intent = new Intent(DetailActivity.this, imageView.class);
            intent.putExtra("list1", list);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(intent);
        }
        else {
            Toast.makeText(DetailActivity.this, "Your money is not enough", Toast.LENGTH_LONG).show();
            Intent intent = new Intent(DetailActivity.this, MainActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(intent);
        }
    }
});
int[]avatarImage={R.mipmap.blademaster,R.mipmap.gunslinger,R.mipmap.pyro,R.mipmap.darthvader};
listView=(listView)findViewById(R.id.avatarlv);
MyAdapter MyAdapter=新的MyAdapter(MainActivity.this、titles、harga、avatarImage);
setAdapter(myAdapter);
setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父视图、视图v、,
内部位置,长id){
Intent MINENT=新的Intent(MainActivity.this,DetailActivity.class);
Minent.putExtra(“头衔”,头衔[职位]);
Minent.putExtra(“avatarImages”,avatarImage[位置]);
额外费用(“费用”,费用[位置]);
星触觉;
}
});
我的详细活动:

int[] avatarImage = {R.mipmap.blademaster,R.mipmap.gunslinger,R.mipmap.pyro,R.mipmap.darthvader};
listView = (ListView) findViewById(R.id.avatarlv);

MyAdapter myAdapter = new MyAdapter(MainActivity.this,titles,harga,avatarImage);
listView.setAdapter(myAdapter);

listView.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View v,
                            int position, long id) {
        Intent mIntent = new Intent(MainActivity.this,DetailActivity.class);
        mIntent.putExtra("title",titles[position]);
        mIntent.putExtra("avatarImages",avatarImage[position]);
        mIntent.putExtra("harga",harga[position]);
        startActivity(mIntent);
    }
});
final ArrayList<Integer> list = new ArrayList<Integer>();

btnYes.setOnClickListener(new View.OnClickListener(){
    @Override
    public void onClick(View v) {
        if (mymoney > harga ) { // when my money is > price of the item
            list.add(mBundle.getInt("avatarImages"));
            Toast.makeText(DetailActivity.this, "Successfully Bought the avatar", Toast.LENGTH_LONG).show();
            Intent intent = new Intent(DetailActivity.this, imageView.class);
            intent.putExtra("list1", list);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(intent);
        }
        else {
            Toast.makeText(DetailActivity.this, "Your money is not enough", Toast.LENGTH_LONG).show();
            Intent intent = new Intent(DetailActivity.this, MainActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(intent);
        }
    }
});
final ArrayList list=new ArrayList();
btnYes.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
如果(mymoney>harga){//当我的钱是>物品的价格时
添加(mBundle.getInt(“avatarImages”);
Toast.makeText(DetailActivity.this,“成功购买了化身”,Toast.LENGTH_LONG.show();
意向意向=新意向(DetailActivity.this、imageView.class);
意向。额外支付(“列表1”,列表);
intent.setFlags(intent.FLAG\u ACTIVITY\u CLEAR\u TOP);
星触觉(意向);
}
否则{
Toast.makeText(DetailActivity.this,“你的钱不够”,Toast.LENGTH\u LONG.show();
意向意向=新意向(DetailActivity.this,MainActivity.class);
intent.setFlags(intent.FLAG\u ACTIVITY\u CLEAR\u TOP);
星触觉(意向);
}
}
});
我的图像视图:

private int current_image_index;

ArrayList<Integer> imageBought =  (ArrayList<Integer>)getIntent().getSerializableExtra("list1");

    private void buttonClick()
    {
        imgView  = (ImageView) findViewById(R.id.imageView);
        buttonSw = (Button) findViewById(R.id.buttonSw);
        buttonSw.setOnClickListener(
            new View.OnClickListener(){
                @Override
                public void onClick(View v) {
                    current_image_index++;
                    current_image_index = current_image_index % imageBought.size();
                    imgView.setImageResource(imageBought.get(current_image_index));
                }
            }
        );
    }
private int current\u image\u索引;
ArrayList ImageBunded=(ArrayList)getIntent().getSerializableExtra(“列表1”);
私有无效按钮单击()
{
imgView=(ImageView)findViewById(R.id.ImageView);
buttonSw=(按钮)FindView-ById(R.id.buttonSw);
buttonSw.setOnClickListener(
新建视图。OnClickListener(){
@凌驾
公共void onClick(视图v){
当前_图像_索引++;
当前_图像_索引=当前_图像_索引%imagebunded.size();
imgView.setImageResource(ImageBunded.get(当前图像索引));
}
}
);
}

请提供帮助。

ImageView.class
不是活动,因此您不能像调用
MainActivity.class
DetailActivity.class
那样调用它。此外,请在将来发布完整的错误日志,以便每个人都能了解您的错误是什么。

对不起,这怎么不是一项活动?我有意地调用了它,它成功了,我遇到的唯一问题是无法调用存储的数组并将其显示到图像视图中@麦克莱恩索考