我尝试制作一般的gridview和分类gridview,从分类gridview尝试在新活动中打开点击的图像。
问题是在分类网格视图中点击项目时它不会打开新的活动
第二个gridview“分类”:
holder.tv = (TextView) row.findViewById(R.id.textView1);
holder.img = (ImageView) row.findViewById(R.id.imageView1);
holder.tv.setText(Bresult[position]);
holder.img.setImageResource(BimageId[position]);
if (row == null) {
row = new ImageView(Bcontext);
}
row.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Bcontext, BActivity.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
if (position==0){
intent.putExtra("imageID", position);
Bcontext.startActivity(intent);
}
Toast.makeText(Bcontext, "You Clicked " + Bresult[position], Toast.LENGTH_LONG).show();
}
});
return row;
}
}
这个New Activity应该出现在那里:
Intent intent = getIntent();
BCustomAdapter imageAdapter = new BirthCustomAdapter(this);
Bundle bdl = getIntent().getExtras();
int index = bdl.getInt("imageID");
ImageView image = (ImageView) findViewById(R.id.img_view);
image.setImageResource(index);
}
答案 0 :(得分:0)
Intent intent = new Intent(Bcontext, BActivity.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
if (position==0){
intent.putExtra("imageID", position);
Bcontext.startActivity(intent);
}
您的startActivity()
if
语句,因此只有当位置== 0时才会启动您的活动。
也许你真的是这个意思:
Intent intent = new Intent(Bcontext, BActivity.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
if (position==0){
intent.putExtra("imageID", position);
}
Bcontext.startActivity(intent);