gpt4 book ai didi

android - 如何使用可重用 Activity 在我的应用程序中定义不同的 Activity 流?

转载 作者:行者123 更新时间:2023-11-29 19:55:10 26 4
gpt4 key购买 nike

所以,希望这个问题没有被含糊地描述,我的场景如下:

在我的应用程序中,我有三个流程(显然将来可能会更多,但我必须尽快交付此应用程序以满足要求,并且像往常一样尽我最大努力为我旁边的人打下坚实的基础) 因此,在这三个流程中,每个流程都有四个步骤,每个步骤都相当简单,只需获取一份数据并将其传递到流程结束即可。

因此,我的问题是:就易于实现和可扩展性而言,哪种方法是“最佳”方法,以便能够定义那些重用某些 Activity 的流程。换句话说,我有类似的东西:

流程 1:

A到B到C到D显示所有收集到的数据

流程 2:

A to E to C to D显示所有收集到的数据

流程 3:

A到F到G到D显示所有收集到的数据

应该如何处理数据以及我如何对每个 Activity 说下一个 Activity ,除了我正在使用一个将有一个后退箭头的操作栏,所以在任何情况下你都可以去返回上一步并编辑您之前选择或创建的数据。

也许“最好”这个词不太合适,因为我不是在征求简单的意见,而是在寻求在 Android 应用程序中执行此操作的建议方法,因为在这种情况下我会说很多应用程序必须处理。

更新一:

实现此流程的第一轮,我采用了以下方法,(简而言之,是一种损坏的伪 Java 代码):

// ActionBarActivity suppose to offer me the change to deal with actionBar and fragment otherwise just Fragment
Flow1Activity extends ActionBarActivity implements AFragmentListener
onCreate {
newFragment = new FragmentA();
generateTransactionTo(newFragment);
}
generateTransactionTo(android.app.Fragment newFragment) {
FragmentTransaction transaction = getFragmentManager().beginTransaction();

transaction.replace(R.id.container, newFragment);
transaction.addToBackStack(null);

transaction.commit();
}
onAfragmentConfirmed() {
// do whatever...
}

之后,每个 fragment 都有自己的内部接口(interface), Activity 持有者应该实现该接口(interface)(也许在每个 fragment 的下一个 fragment 中,您将调用此注入(inject)接口(interface)),例如:

FragmentA extends Fragment
public interface AFragmentListener {
void onAFragmentConfirmed();
}
onAttach(Context context) {
super.onAttach(context);
Activity activity = getActivity();

try {
mAFragmentListener = (AFragmentListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString() + " must implement AFragmentListener");
}
}
onClickSomething() {
mAFragmentListener.onAfragmentConfirmed()
}

我当前的问题是 ActionBar 没有像我预期的那样工作,我正在设置我的操作栏:

ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeButtonEnabled(true);
actionBar.setElevation(0);
}

但是返回按钮显示为 ant 它没有做任何事情,如果我点击下面的 android 按钮,它会转到上一个 Activity :(

有用的链接:

最佳答案

一种选择是将屏幕实现为 fragment 。

每个 fragment 都有一个对 Activity 的回调(例如 showNext)。然后,您可以为每个 Flow 实现一个 Activity。

例如 Activity 1 显示 fragment A -> B -> C -> D Activity 2 显示 fragment A -> E -> C -> D Activity 3 显示 fragment A -> F -> G -> D

这是干净且可扩展的,因为它分离了关注点。

fragment :在屏幕上显示内容 Activity :在屏幕之间导航

关于android - 如何使用可重用 Activity 在我的应用程序中定义不同的 Activity 流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36797021/

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