gpt4 book ai didi

java - 如何单击图像按钮并将其显示在 Android Studio 的新页面中?

转载 作者:行者123 更新时间:2023-12-01 11:47:19 25 4
gpt4 key购买 nike

我试图拥有一系列图像按钮,当单击其中一个时,它会将用户发送到包含该图像的不同页面。我可以在第一个屏幕上加载所有图像,但不知道如何让图像在单击后显示在第二个屏幕上。谁能帮我吗?

最佳答案

为了从一个 Activity 导航到另一个 Activity ,在 Android 中我们有 Intent 类。我们还可以通过 Intent 将数据从一个 Activity 传递到另一个 Activity。

因此,基本上,您需要将 Intent 从主 Activity 发送到第二个 Activity ,以便第二个 Activity 出现。除了 Intent 之外,您还需要附加数据。本例中的数据是图像的文件名(资源名称)。

看看这段代码。

您的主要 Activity 有两个图像按钮。

public class mainActivity extends ActionBarActivity {

ImageButton imageButton1;
ImageButton imageButton2;

@Override
void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

imageButton1 = (ImageButton)findViewById(R.id.ib1);
imageButton2 = (ImageButton)findViewById(R.id.ib2);


imageButton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(),SecondActivity.class);
intent.putExtra("USE_A_CONSTANT_HERE_AS_KEY", R.drawable.img1);
startActivity(intent);
}
});

imageButton2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(),SecondActivity.class);
intent.putExtra("USE_A_CONSTANT_HERE_AS_KEY", R.drawable.img2);
startActivity(intent);
}
});
}
}

现在是您想要显示图像的第二个 Activity。

public class SecondActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);

ImageView imageView = (ImageView)findViewById(R.id.iv);
int resourceId = getIntent.getIntentExtra("USE_A_CONSTANT_HERE_AS_KEY",R.drawable.ic_launcher)

imageView.setImageResource(resourceId);
}
}

现在,第二个 Activity “activity_second”的 XML 布局文件是我为 xml 文件指定的名称。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">


<ImageView
android:id="@+id/iv"
android:layout_width="300dp"
android:layout_height="300dp"/>
</RelativeLayout>

现在澄清一下,getIntent.getIntExtra("USE_A_CONSTANT_HERE_AS_KEY",R.drawable.ic_launcher)

在 Intents 中使用 putExtra()getExtra() 方法的第一个参数首先是一个键,第二个是值。

将键声明为常量是件好事。

关于java - 如何单击图像按钮并将其显示在 Android Studio 的新页面中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29055830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com