android-lifecycle相关内容
我有一个ViewPager,一次可以加载三个页面.如果我从第1页滑动到第2页,然后滑动到3,则第一页(片段)进入onPause().然后,如果我滑动到第二页,即使页面1对用户仍然不可见,第一页也会进入onResume().因此,我的问题是:如何区分代码中的第一页和第二页?例如,如果片段可见时我必须运行一段代码,那该怎么办? 解决方案 除了显示的片段之外,FragmentPagerAdapt
..
在我的Android应用程序中,为了询问用户是否要恢复当前游戏,我在主要游戏活动上显示一个对话框,显示“您是否要恢复当前游戏?是-否"./p> 问题是,如果我在不回答对话框的情况下重复进行多次此活动,那么我会在彼此之上得到多个对话框,这显然不是我的目标. 我可以使用布尔值var轻松避免这种行为,但是我想知道Dialog类是否具有防止重复的选项或类似的类型. 解决方案 您可以使用单例
..
在Android中,我们通常必须使用 Context 类.当类或方法需要 Context 时,我们通常使用 Activites 或 Services 作为此类参数.以下代码来自我找到的一个网站,但我不知道这是否是一种好习惯,是否可以使用此解决方案: public class MyApplication extends Application { private static MyAp
..
我的Android 4+应用程序已连接到自定义Web服务,该服务每隔几分钟便用于同步数据.为了确保在线数据始终是最新的,我想在应用关闭或发送到后台时触发同步. 在iOS下,这非常简单: 在AppDelegate中收听applicationDidEnterBackground: 使用beginBackgroundTaskWithName:启动您长期运行的后台任务,并避免在任务仍在运行时
..
我有两个activities,主要是我有一个text field和两个buttons,用户可以在text field中输入文本. 当单击添加button时,文本将被添加到某些ArrayList. 单击“在列表中显示"按钮时,应打开一个带有自己片段的新活动,并显示一个listview,其中包含用户输入的名称. 我使用了ArrayAdapter,并且工作正常.当我处于列表活动中时,当
..
每当您在LiveData上调用.observe()时,观察者都会收到该LiveData的最后一个值.在某些情况下这可能很有用,但在我的情况下却没有. 每当我调用.observe()时,我都希望观察者仅接收将来的LiveData更改,而不希望接收.observe()时它持有的值. 我可能有多个LiveData实例的观察者.我希望他们在发生时都能收到LiveData更新. 我希望每个
..
我试图(至少部分地)确定用户何时关闭应用程序以释放某些连接等.为此,我将ProcessLifecycleOwner与实现LifecycleObserver的应用程序类一起使用.尽管从教程和其他有用的文章中获取了起始代码,但似乎无法检测到任何生命周期事件. 大多数代码来自我的应用程序类: public class App extends Application implements Li
..
我有什么 我有一个包含5个片段的ViewPager.每当片段对用户可见时,我都希望对其进行动画处理. 我无法使用onResume(),因为左侧和右侧的片段已经创建.我不能使用setUserVisibilityHint(),因为它在onCreateView()之前被调用,因此视图尚未准备就绪. 那么,每当用户看到特定片段时,如何为视图设置动画? 解决方案 我知道这个答案可能
..
返回活动时,我遇到了应用崩溃的麻烦. 如果我使用主页按钮导航,则会根据生命周期调用电话(或仿真器)onPause,onSaveInstanceState和onStop: 05-05 14:12:20.790 2043-2043/? I/myview: onPause was run 05-05 14:12:20.790 2043-2043/? I/myview: onSaveInsta
..
Google在Android上弃用片段的onActivityCreated(),建议使用LifeCycleObserver: To get a callback specifically when a Fragment activity's * {@link Activity#onCreate(Bundle)} is called, register a * {@lin
..
我想使用以下代码实现片段的导航: public abstract class BaseFragment extends Fragment { private static String TAG = "BaseFragment"; private BaseFragmentActions baseFragmentActions; @Override public
..
我收到以下错误,我不知道为什么会发生. 错误: 08-23 17:07:46.533 22454-22454/com.a.b.c E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: com.a.b.c, PID: 22454 java.lang.RuntimeException: Unable to resume acti
..
我的应用程序中的所有活动都需要登录后才能查看.用户几乎可以退出任何活动.这是应用程序的要求.无论何时用户注销,我都希望将用户发送到登录Activity.此时,我希望此活动位于历史记录堆栈的底部,以便按“后退"按钮可使用户返回Android的主屏幕. 我已经看到这个问题在几个不同的地方问过,都用相似的答案回答(我在这里概述),但是我想在这里提出来收集反馈. 我尝试通过将其Intent标志
..
我已经开始学习架构组件,但是找不到一件事. LifecycleFragment 只会创建一个新的 LifecycleRegistry 对象,该对象不会开始观察片段的生命周期. 例如,当我们将其放入问题: LifecycleRegistry 对象的时间和方式开始观察片段的生命周期并刷新LifecycleRegistry.mState? 解决方案 有一个名为LifecycleRun
..
我有一个Xamarin Forms应用程序,当前正在为Android构建.我有一个用于扩展FormsApplicationActivity的MainActivity,但是由于我想使用自定义主题,因此不得不对其进行更改以扩展FormsAppCompatActivity(请参阅我的另一个问题:自从FormsApplicationActivity更改为FormsAppCompatActivity以来,无
..
我有一个LocalBroadcastReceiver,我在ondestroy()中是unregistering. 现在,我读到了关于这两个SO答案中提到的ondestroy()的信息 is-ondestroy-not-经常被称为和 Androi文档 如果您明确调用finish(),则会调用 onDestroy 但是在我的情况下,为什么我没有调用finish()却仍然在所有的An
..
活动说明: Activity_A ...读取标签时开始的nfc活动 Activity_B ...捕获用户签名的活动 嗨,我的问题是这样的: 我有Activity_A,在该活动中,我使用startActivityForResult()方法调用Activity_B.然后,我在Activity_B中进行一些工作并将其关闭.之后,在我的Activity_A中调用onActivityRes
..
是否有一种方法可以在按下返回键时将更新的数据发送到父活动?我想更新捆绑软件中的数据,但看不到如何访问它. 例如,我有一个图库活动可以打开图像查看器.假设用户滚动浏览了十几个图像,然后返回画廊.最好将画廊中的焦点图像更新为他们最近查看的图像. 此刻,如果没有全局设置,我想不起来怎么做. 这是我想做的事情的伪代码(尽管这显然行不通): 孩子: @Override publ
..
我希望在恢复活动后出现一些视图动画,但是我无法成功地捕捉到所有视图加载完毕并且动画开始于所有视图加载之前的时间(在动画过渡之前). 我尝试使用onDraw,onWindowFocusChange,onResume,我发现onDraw是视图生命周期中的最后一个方法,但我仍然看到动画在用户看到所有视图之前就开始了 解决方案 这是Android Activity生命周期& Android Vie
..
在我当前的应用程序中,当我第一次加载Activity时会触发onResume函数.我查看了活动生命周期,但没有找到解决方法以防止这种情况发生. 是否可以在不使用SharedPreferences的情况下首次加载活动时阻止onResume()函数加载? 解决方案 首先,正如RvdK所说,您不应该修改Android Activity生命周期,可能必须重新设计活动行为才能使其符合要求.
..