配列リストからimageViewにデータを表示しようとしています。しかし、私は取得していますアレイリストからImageViewにデータを取得するにはどうすればよいですか?
java.lang.RuntimeException:java.lang.NullPointerExceptionが
:活動ComponentInfo {com.example.gorila.sqlite_grid_view/com.example.gorila.AvatarShop.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);
}
}
});
マイImageViewの:
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));
}
}
);
}
助けてください。
申し訳ありませんが、どのように活動ではありませんか?私は意図を持ってそれを呼び出し、それが働いた、私が持っている唯一の問題は、格納された配列を呼び出して、それをイメージビューに表示することができないということです。 @MacLean Sochor –