【问题标题】:Android - How to open image in new activity by buttons id? [closed]Android - 如何通过按钮 id 在新活动中打开图像? [关闭]
【发布时间】:2017-06-06 13:33:38
【问题描述】:

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

例如

"button1"->"image1" ,

 "button2"->"image2" 

但我做不到。有办法吗?

【问题讨论】:

  • 您想将数据从一个活动传递到另一个活动吗? ,就像你的情况图片一样。
  • 查看下面的链接,它有一个很好的例子。
    open-an-image-in-another-activity

标签: java android android-intent android-activity


【解决方案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 intent = new Intent (CurrentActivity.this, ImageActivity.class);

并将您的 imageId(假设您的图像在 drawables 文件夹中并且具有和 ID)放入意图:

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 的答案基本相同,只是更详细一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多