Android - 如何通过按钮ID在新活动中打开图像?

时间:2017-06-06 13:33:39

标签: java android android-intent android-activity

我正在尝试创建一个应用;当我点击一个按钮时,它将在第二个活动上打开一个图像。

例如

Uri

但我不能。有办法吗?

1 个答案:

答案 0 :(得分:1)

在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);

并将您的imageId(假设您的图像位于drawables文件夹中并具有ID)设置为intent:

intent.putExtra("IMAGE", imageId);
startActivity(intent);

在接收活动中onCreate方法接受此意图:

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并使用imageId:

进行设置
ImageView image = (ImageView) findViewById(R.id.imageIdInXml);
image.setImageResource(imageId);

对第二个按钮也这样做。

here的答案基本相同,只是更详细一点。