android-lifecycle相关内容

查看寻呼机和片段的生命周期

我有一个ViewPager,一次可以加载三个页面.如果我从第1页滑动到第2页,然后滑动到3,则第一页(片段)进入onPause().然后,如果我滑动到第二页,即使页面1对用户仍然不可见,第一页也会进入onResume().因此,我的问题是:如何区分代码中的第一页和第二页?例如,如果片段可见时我必须运行一段代码,那该怎么办? 解决方案 除了显示的片段之外,FragmentPagerAdapt ..

防止在恢复活动时多次打开对话框

在我的Android应用程序中,为了询问用户是否要恢复当前游戏,我在主要游戏活动上显示一个对话框,显示“您是否要恢复当前游戏?是-否"./p> 问题是,如果我在不回答对话框的情况下重复进行多次此活动,那么我会在彼此之上得到多个对话框,这显然不是我的目标. 我可以使用布尔值var轻松避免这种行为,但是我想知道Dialog类是否具有防止重复的选项或类似的类型. 解决方案 您可以使用单例 ..
发布时间:2020-08-25 20:00:14 移动开发

将应用程序类用作单例

在Android中,我们通常必须使用 Context 类.当类或方法需要 Context 时,我们通常使用 Activites 或 Services 作为此类参数.以下代码来自我找到的一个网站,但我不知道这是否是一种好习惯,是否可以使用此解决方案: public class MyApplication extends Application { private static MyAp ..
发布时间:2020-08-25 18:38:11 移动开发

Android应用程序关闭/设置为后台时如何执行后台任务?

我的Android 4+应用程序已连接到自定义Web服务,该服务每隔几分钟便用于同步数据.为了确保在线数据始终是最新的,我想在应用关闭或发送到后台时触发同步. 在iOS下,这非常简单: 在AppDelegate中收听applicationDidEnterBackground: 使用beginBackgroundTaskWithName:启动您长期运行的后台任务,并避免在任务仍在运行时 ..

单击后退图标时,ListView为空

我有两个activities,主要是我有一个text field和两个buttons,用户可以在text field中输入文本. 当单击添加button时,文本将被添加到某些ArrayList. 单击“在列表中显示"按钮时,应打开一个带有自己片段的新活动,并显示一个listview,其中包含用户输入的名称. 我使用了ArrayAdapter,并且工作正常.当我处于列表活动中时,当 ..

订阅/观察后​​,让每个观察者仅接收* new * LiveData

每当您在LiveData上调用.observe()时,观察者都会收到该LiveData的最后一个值.在某些情况下这可能很有用,但在我的情况下却没有. 每当我调用.observe()时,我都希望观察者仅接收将来的LiveData更改,而不希望接收.observe()时它持有的值. 我可能有多个LiveData实例的观察者.我希望他们在发生时都能收到LiveData更新. 我希望每个 ..

如何使用ProcessLifecycleOwner捕获生命周期事件?

我试图(至少部分地)确定用户何时关闭应用程序以释放某些连接等.为此,我将ProcessLifecycleOwner与实现LifecycleObserver的应用程序类一起使用.尽管从教程和其他有用的文章中获取了起始代码,但似乎无法检测到任何生命周期事件. 大多数代码来自我的应用程序类: public class App extends Application implements Li ..

ViewPager当前片段可见性

我有什么 我有一个包含5个片段的ViewPager.每当片段对用户可见时,我都希望对其进行动画处理. 我无法使用onResume(),因为左侧和右侧的片段已经创建.我不能使用setUserVisibilityHint(),因为它在onCreateView()之前被调用,因此视图尚未准备就绪. 那么,每当用户看到特定片段时,如何为视图设置动画? 解决方案 我知道这个答案可能 ..

在注销时,清除“活动历史记录"堆栈,以防止“返回".打开仅登录的活动中的按钮

我的应用程序中的所有活动都需要登录后才能查看.用户几乎可以退出任何活动.这是应用程序的要求.无论何时用户注销,我都希望将用户发送到登录Activity.此时,我希望此活动位于历史记录堆栈的底部,以便按“后退"按钮可使用户返回Android的主屏幕. 我已经看到这个问题在几个不同的地方问过,都用相似的答案回答(我在这里概述),但是我想在这里提出来收集反馈. 我尝试通过将其Intent标志 ..
发布时间:2020-08-24 06:01:45 移动开发

LifecycleRegistry实例何时开始侦听LifecycleOwner的生命周期更改?

我已经开始学习架构组件,但是找不到一件事. LifecycleFragment 只会创建一个新的 LifecycleRegistry 对象,该对象不会开始观察片段的生命周期. 例如,当我们将其放入问题: LifecycleRegistry 对象的时间和方式开始观察片段的生命周期并刷新LifecycleRegistry.mState? 解决方案 有一个名为LifecycleRun ..

应用恢复导致FormsAppCompatActivity崩溃

我有一个Xamarin Forms应用程序,当前正在为Android构建.我有一个用于扩展FormsApplicationActivity的MainActivity,但是由于我想使用自定义主题,因此不得不对其进行更改以扩展FormsAppCompatActivity(请参阅我的另一个问题:自从FormsApplicationActivity更改为FormsAppCompatActivity以来,无 ..

仅当您显式调用finish()时才会调用onDestroy吗?还是有例外?

我有一个LocalBroadcastReceiver,我在ondestroy()中是unregistering. 现在,我读到了关于这两个SO答案中提到的ondestroy()的信息 is-ondestroy-not-经常被称为和 Androi文档 如果您明确调用finish(),则会调用 onDestroy 但是在我的情况下,为什么我没有调用finish()却仍然在所有的An ..

在BackPressed上将数据发送到父活动

是否有一种方法可以在按下返回键时将更新的数据发送到父活动?我想更新捆绑软件中的数据,但看不到如何访问它. 例如,我有一个图库活动可以打开图像查看器.假设用户滚动浏览了十几个图像,然后返回画廊.最好将画廊中的焦点图像更新为他们最近查看的图像. 此刻,如果没有全局设置,我想不起来怎么做. 这是我想做的事情的伪代码(尽管这显然行不通): 孩子: @Override publ ..
发布时间:2020-06-29 22:47:35 移动开发

View Android的生命周期

我希望在恢复活动后出现一些视图动画,但是我无法成功地捕捉到所有视图加载完毕并且动画开始于所有视图加载之前的时间(在动画过渡之前). 我尝试使用onDraw,onWindowFocusChange,onResume,我发现onDraw是视图生命周期中的最后一个方法,但我仍然看到动画在用户看到所有视图之前就开始了 解决方案 这是Android Activity生命周期& Android Vie ..

Android-如果是首次加载“活动",则禁止onResume()函数(不使用SharedPreferences)

在我当前的应用程序中,当我第一次加载Activity时会触发onResume函数.我查看了活动生命周期,但没有找到解决方法以防止这种情况发生. 是否可以在不使用SharedPreferences的情况下首次加载活动时阻止onResume()函数加载? 解决方案 首先,正如RvdK所说,您不应该修改Android Activity生命周期,可能必须重新设计活动行为才能使其符合要求. ..