gpt4 book ai didi

android - 在多个按钮上动态调用 Intent

转载 作者:行者123 更新时间:2023-11-29 18:20:42 24 4
gpt4 key购买 nike

我目前有一个看起来像一本书的应用程序:有几页,底部有 2 个链接到下一页和上一页的按钮。

我目前正在做的是类似的事情,在我的每个 XML 布局上,我添加两个带有 onClick 属性的按钮。

例如在第 5 页,我在上一个按钮上:

android:onClick="Page4"

和下一步按钮

android:onClick="Page6"

我还编写了一个具有这些属性的 CustomActivity:

public void Page4(View v) {
startActivity(new Intent(this, Page04.class));
finish();
}
public void Page6(View v) {
startActivity(new Intent(this, Page06.class));
finish();
}

这个工作很好,我写了一个像这样的整个应用程序,但我真的想做一些更聪明的东西。

正如您所想象的,当我有大约 100 页时,我的代码非常糟糕!

我不知道,比如“PreviousPage”或“NextPage”

public void PreviousPage(View v) {
Intent i= "Generate dynamically an intent for previous page"
startActivity(i);
finish();
}

我在想的是也在我的 xml 中提供一个参数并执行类似的操作:

public void GotoPage(View v, int page) {
startActivity(new Intent(this, Page"+page+".class));
finish();
}

我希望你明白我的意思和我在寻找什么。

最佳答案

创建一个包含您的 Activity 的 java.util.List 或 java.Util.Map。

List activities = new ArrayList();
activities.add(Activity1.class);
activities.add(Activity2.class);
activities.add(Activity3.class);

通过调用开始您的 Activity

startActivity(new Intent(this,activities.get(i));

如果你需要能够按键搜索,你可以用 map 做同样的事情,

Map activities = new HashMap();
activities.add("activity1",Activity1.class);
activities.add("activity2",Activity2.class);
activities.add("activity3",Activity3.class);

通过调用开始您的 Activity

startActivity(new Intent(this,activities.get("activity1"));

通过将其存储在 List/Map 中,应该很容易实现 first、previous、next、last 功能。

关于android - 在多个按钮上动态调用 Intent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5693370/

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