我目前有一个看起来像书的应用程序:几个页面,底部的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();
}
我希望你明白我的意思和我在寻找的东西。
答案 0 :(得分:3)
创建包含您的活动的java.util.List或java.Util.Map。
List activities = new ArrayList();
activities.add(Activity1.class);
activities.add(Activity2.class);
activities.add(Activity3.class);
致电
开始您的活动startActivity(new Intent(this,activities.get(i));
如果您需要能够按键搜索,则可以使用地图
进行相同操作Map activities = new HashMap();
activities.add("activity1",Activity1.class);
activities.add("activity2",Activity2.class);
activities.add("activity3",Activity3.class);
致电
开始您的活动startActivity(new Intent(this,activities.get("activity1"));
通过将其存储在List / Map中,实现第一个,上一个,下一个,最后一个功能应该相当容易。