-4
我正在尝试创建一个应用程序;当我点击一个按钮时,它会在第二个活动中打开一个图像。Android - 如何通过按钮ID在新的活动中打开图像?
例如
"button1"->"image1" ,
"button2"->"image2"
,但我不能。有办法做到这一点?
我正在尝试创建一个应用程序;当我点击一个按钮时,它会在第二个活动中打开一个图像。Android - 如何通过按钮ID在新的活动中打开图像?
例如
"button1"->"image1" ,
"button2"->"image2"
,但我不能。有办法做到这一点?
在您的MainActivity实施OnClickListener的按钮:
private Button button1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1 = (Button) findViewById(R.id.yourItemIdInXml);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// put Intent here
}
});
}
中的onClick中创建一个意图:
Intent intent = new Intent (CurrentActivity.this, ImageActivity.class);
,并把你的图像标识(假设你的图片是在可绘制文件夹和具有和ID)的意图:
intent.putExtra("IMAGE", imageId);
startActivity(intent);
而在接收活动onCreat E法接受这个意图:
private ImageView image;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_image);
int imageId = getIntent().getIntExtra("IMAGE", 0); // 0 is a default value
// IMAGE is a string that serves as a key, can be anything just make sure it's the same as in putExtra()
}
而且你可以创建后的ImageView和使用图像标识设置:
ImageView image = (ImageView) findViewById(R.id.imageIdInXml);
image.setImageResource(imageId);
而对于第二个按钮做同样的。
这与here的基本相同,只是更详细一点。
是否要将数据从一项活动传递给另一项? ,就像你的情况一样。 –
检查下面的链接它有一个很好的例子。
[open-an-image-in-another-activity](https://stackoverflow.com/questions/26629678/i-want-to-open-an-image-in-another-activity-when-clicked-上的项目,在最名单) –