Android 如何将数据从数组列表检索到ImageView?
我正在尝试从阵列列表在imageView中显示数据。然而,我越来越 java.lang.RuntimeException:无法实例化活动组件信息{com.example.gorila.sqlite_grid_view/com.example.gorila.AvatarShop.imageView}:java.lang.NullPointerException 我正在尝试制作一个简单的功能,当用户从我的自定义列表中购买图像时,存储图像的索引将添加到我的数组列表中,然后将其传递到我的imageView活动类中,然后用户将能够按下一个按钮,用户可以切换到新购买的图像 因此,它将从MainActivity->DetailActivity->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
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
那样调用它。此外,请在将来发布完整的错误日志,以便每个人都能了解您的错误是什么。对不起,这怎么不是一项活动?我有意地调用了它,它成功了,我遇到的唯一问题是无法调用存储的数组并将其显示到图像视图中@麦克莱恩索考