Articles of android activity

在android中的活动之间传递非原始types的数据

假设您要启动一个新活动并从当前活动传递一些数据。 如果数据是基本types,您可以简单地使用intent并添加额外内容,但是如何为更复杂的数据结构(如arraylists或对象)执行此操作?

在重写onNewIntent时是否有任何理由不调用setIntent?

在遇到类似于这个问题的问题时 ,我开始想知道为什么我们在重写onNewIntent时显式必须调用onNewIntent ,以及为什么onNewIntent不会执行此代码。 @Override public void onNewIntent(Intent intent) { super.onNewIntent(intent); // Why isn’t this performed by the framework in the line above? setIntent(intent); }

如何通过活动中的绑定从抽屉页眉布局中获取视图?

所以这是我的activity_main.xml: 我正在使用活动的绑定,所以我不必使用findViewById并投射它等..像这样: ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main); Toolbar toolbar = binding.myAwesomeToolbar; toolbarTitle = binding.toolbarTitle; BalrogFontsHelper.SetKhandBoldToView(toolbarTitle); setSupportActionBar(toolbar); final ActionBar actionBar = getSupportActionBar(); if (actionBar != null) { actionBar.setHomeAsUpIndicator(R.drawable.ic_dehaze_white_24); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); actionBar.setDisplayShowTitleEnabled(false); } drawerLayout = binding.drawerLayout; **tvLoggedUserEmail = (TextView) findViewById(R.id.tv_logged_user_email);** BalrogFontsHelper.SetKhandBoldToView(tvLoggedUserEmail); 正如您所看到的,我可以通过绑定直接在activity_main.xml布局中获取视图,但是当我尝试获取的视图不存在时,我无法在绑定对象中看到该variables。 drawer_header.xml: 我怎么能以绑定方式获取这个tv_logged_user_email TextView所以我有: **tvLoggedUserEmail = binding.tvLoggedUserEmail;**

公共静态variables和Android活动生命周期管理

根据文档,Android操作系统可以杀死后台堆栈后面的活动。 所以,比如说我有一个应用程序并打开主要活动(让我们称之为活动A)。 在这个公共活动类中,我声明并初始化一个公共静态variables(让我们称之为“foo”)。 在Activity A的onCreate()方法中,我然后更改“foo”的值。 从活动A开始,用户在我的应用程序中启动另一个名为Activity B的活动。在活动B中使用variables“foo”。在用户导航到其他应用程序中的某些其他活动后,活动B将暂停。 最终,在发生内存不足之后,可以杀死活动A然后活动B. 用户导航回我的应用程序后,它会重新启动(实际上是“重新创建”)活动B. 怎么了: 当活动A的onCreate()方法运行时,此时variables“foo”是否具有设置的值? variables“foo”不存在? variables“foo”存在,但现在是初始化值,而不是Activity A的onCreate()方法中设置的值?

如何在执行活动期间阻止Android设备的屏幕关闭?

我有一个Activity ,通常需要一些时间来观看屏幕而不与它交互。 问题是屏幕关闭,就像almos任何其他应用程序一样。 我想阻止我的Activity自动关闭,就像Dolphin HD一样(如果你从设置菜单配置它)。 我想让用户按下常用的块按钮关闭屏幕,但在我的Activity阻止设备的自动阻止。 我怎样才能做到这一点? 感谢名单。

通过触摸到下面的视图

在我的应用程序中,我在活动的顶部有一个片段。 片段正在填满整个屏幕。 片段的一部分是透明视图,您可以看到(属于活动)下的视图。 有没有办法将触摸事件传递到片段透明视图下的视图? 谢谢!

确定当前设备上是否存在活动?

有没有办法检查并查看您的设备上是否存在活动? 如果我有YouTubevideo链接,我想在YouTube PlayerActivity中指定它。 但是,如果由于某种原因他们没有它,我不想崩溃。 有没有办法检查并查看活动是否存在? 我不认为我可以捕获运行时exception,因为startActivity()不会抛出它。

Android webview加载数据性能非常慢

嗨,我正在研究一个应用程序,因为我正在使用Android WebView。 每当我启动webview活动时,从test.txt文件加载字符串html格式的数据。 test.txt文件包含近2.5 MB的数据,加载test.txt文件后,如果幻灯片屏幕结束,则读取所有数据并按回。 然后随后启动webview活动需要更多时间来呈现数据。 在第一次推出webview时,它花费的时间很少。 在启动此活动之间,我没有收到任何错误/exception/崩溃。 我使用的是Android API等级18及以上版本 注意:我在这个问题上做了很多研究。 我尝试从Android webview的解决方案慢和Android WebView性能没有用。 我不能使android:hardwareAccelerated =“true” < – 为什么因为它有很多副作用(我仍然使用这个,但我没有在这个问题上发现任何变化)。 我不能使用webview.getSettings()。setRenderPriority(RenderPriority.HIGH); setRenderPriority() – >此方法在API级别18中已弃用。建议不要调整线程优先级,并且在将来的版本中不支持此方法。 我的DataLoader.java类 public class DataLoader extends Activity { private WebView webView = null; // Progress Dialog private ProgressDialog progressDialog; String dataContent = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.web_view); webView = […]

活动生命周期中的android内存管理

我的问题有点复杂。 我想了解应用程序如何在Activity启动时处理资源(尤其是背景,按钮等图像),然后暂停。 例如,我启动活动A,它显示屏幕上的所有图像,吃掉它的内存,然后启动另一个活动B并暂停A. 所有图像,资源等都会发生什么? 当他们被释放? 我该如何控制它们? 我不应该将活动A保留在内存中并将其从活动堆栈中删除吗? 如果您需要澄清我的问题,请写信给我! 提前致谢! Danail

Android Activity生命周期和锁定/解锁设备

我刚刚发现当设备启用锁定屏幕时,会发生以下情况。 对于此活动,在清单中设置android:screenOrientation =“landscape”。 然后我用手机以纵向模式执行以下操作。 用户打开一个活动。 调用onCreated() onStart()被调用 onResume()被调用 用户LOCKS设备4.5 onPause被调用() onDestroy()被调用 onCreate()被调用 onStart()被调用 onResume()被调用8.5 onPause被调用() 用户解锁设备 onResume()被调用 onDestroy()被调用 onCreate()被调用 onStart()被调用 onResume()被调用。 好吧,我不明白为什么在屏幕关闭后执行6,7,8 ..同样我不明白为什么要执行11,12,13,14。 当我锁定和解锁设备时,会发生一些奇怪的事情吗? 我突然对活动生命周期感到困惑..任何人都可以澄清一下吗? 附上代码和日志消息 package com.example.wf; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(“log”, “oncreate”); } @Override protected void onResume() […]