- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我打算向用户显示四个欢迎屏幕,新用户只显示一次。为此,我在启动时在首选项中保存了一个标志,并检查其值以确定用户是否是新用户。如果没有,则不会出现欢迎屏幕:
SharedPreferences mPrefs;
final String welcomePref = "oldUser";
@Override
public void onCreate(Bundle savedInstanceState) {
mPrefs = PreferenceManager.getDefaultSharedPreferences(this);
Boolean welcome = mPrefs.getBoolean(welcomePref, false);
if (!welcome) {
Intent intent = new Intent(this, welcomeScreenOne.class);
startActivity(intent); //start the first welcome screen
SharedPreferences.Editor editor = mPrefs.edit();
editor.putBoolean(welcomePref, true); //not a new user anymore
editor.commit();
}
}
welcomeScreenOne Activity 启动第二个欢迎屏幕等。您可能已经注意到,此代码中的错误是,如果用户查看第一个欢迎屏幕,则 pref 设置为 true,因此如果他在查看另一个欢迎屏幕(2、3 和 4)之前退出应用程序,则返回应用程序将不会显示剩余的屏幕。
为了解决这个问题,我想到了在每个欢迎屏幕 Activity 中使用 startActivityForResult(Intent, int)
,这样第 4 个返回到第 3 个,第 3 个返回到第 2 个,第 2 个返回到第一个欢迎屏幕,然后将 pref 设置为 true
。这是糟糕的编码习惯吗?
我的第二个解决方案是从主屏幕调用第一个屏幕,返回然后调用第二个屏幕,返回然后调用第三个屏幕,依此类推。
也许有什么方法我不知道,请指教?
最佳答案
Is this bad coding practice?
恕我直言,是的。
Maybe there is a way I do not know of, please advise?
进行一项 Activity ,而不是四项。
在您的欢迎屏幕序列中使用此 Activity 中的其他内容,例如:
关于android - 如果我递归调用 startActivityForResult() 会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50918128/
如果我调用 startActivityForResult 并且启动的 Activity 也在另一个 Activity 上调用 startActivityForResult, 是否有可能停止第一个 Ac
Android Fragment 中 startActivityForResult() 与 getActivity().startActivityForResult() 之间有什么区别?在 Fragm
我正在尝试改进一个实际代码,该代码通过 Android 手机与带有 Arduino(电子微 Controller )的 Atmega 建立蓝牙连接。我可以接收数据并将数据发送到微 Controller
我刚开始学习 android 编程,但我在启动 Activity for Result(使用 onActivityResult()、setResult())时遇到问题。 首先,有三个 Activity
我想让谷歌登录到我的应用程序,但我收到了这个错误。 startActivityForResult() deprecated in java 这是我的代码: val signInIntent =
我有一个有 15 个级别的问答游戏。在每个级别之后,我都会显示一个弹出窗口,其中包含一些信息(游戏级别和一些级别规则)。 15 级后,会出现一个最终弹出窗口,其中包含用户赢得了多少积分的信息。我使用
这个问题已经有答案了: Android contacts Display Name and Phone Number(s) in single database query? (3 个回答) 已关闭
我有两个按钮和音频 ListView ,对于第一个按钮,我使用 LongClick 和 startActivityForResult 方法从 MediaPlayer 的另一个 Activity 获取字
我正在编写一个 Android 应用程序,并且我有一个主屏幕,可以启动不同的播放模式(不同的 Activity )。我想开始每项 Activity 以获得结果startActivityForResul
在我的应用程序中,我正在尝试使用 fragment 中的 RecognizerIntent 启动谷歌语音转文本。请求代码的值是 1010,但在 startActivityForResult 上返回的请
我正在尝试使用 startActivityForResult 响应 Activity 的结果。我得到了预期的结果,但不确定如何回应结果。我想做的是根据结果调用不同的 ArrayList(这是一种资源)
我正在尝试从 HTML5 和 JavaScript 调用相机。我的代码如下。但是我得到空指针异常。 主要 Activity : public void onCreate(Bundle savedIn
我正在学习 android 并且很想知道 startActivityForResult() 是否也包含 startActivity() 的属性,即它是否可以用于发送数据,如 startActivity
所以我有两个类(class)。我想做的是将数据从 MainActivity 发送到 Main2,在 Logcat 中登录,然后将控制权返回给 MainActivity 以便用一些其他数据再次重复该步骤
我有以下代码和两个 Activity ,其中我在 MainActivity 中有一个 ListActivity,然后是 AddItemsActivity 以动态地将项目添加到 ListActivity
当我在一个新 Activity 中写一个国家时,我得到了家庭作业来做到这一点(结果)它会把它写在主要 Activity 中,我写的颜色和新 Activity 会将文本颜色更改为我写的颜色。但是“确定”
是否可以从状态栏通知中使用 startActivityForResult()? 假设我有一个 Activity A,它在某些事件中使用 startActivityForResult() 启动 Acti
我想启动 map Activity 并获取位置结果。这是否可以在不使用 MapView 且不需要谷歌地图库的情况下实现? 最佳答案 是的,这是可能的。您应该将“onclick”事件监听器添加到您的 m
我是 android 的新手,有人可以帮助我吗,以下是我尝试运行以扫描条形码的代码,但是每当我单击按钮时它都会出错,它说强制关闭我应该做什么请帮助我。 this.btnCheck = (Button)
我正在使用 StartActivityForResult 进行多项 Activity 。我的主要 Activity 是初始化它。在我的第二个 Activity 中,我输入了一些值并传递给第三个 Act
我是一名优秀的程序员,十分优秀!