Articles of android activity

如何知道活动何时完成布局传递?

我有一个后台线程,在onCreate()之后更新我的活动的UI。 它可以添加布局,也可以更改其他布局。 我只想检测布局传递何时在我的活动中完成,以便能够手动更新其他视图的位置,这些视图直接取决于仅添加或修改的布局。 现在,我只使用一个带有postDelayed runnable的Handler来完成这项工作,经过一小段延迟后,在触发requestLayout()的modif之后大约50-100 ms。 它有效,但我们可以看到延迟。 我想尽快完成这项工作。 在视图代码中,检测测量过程很简单,但我没有find如何在活动中直接解决这个问题。

关于android launchmode“singleTask”

我阅读了android开发者指南和一些互联网上的文章,我仍然对singleTask launchmode感到困惑。 让我们举一个例子: 用户启动App1,android启动一项新任务。 假设App1按以下顺序创建活动: ActivityA -> ActivityB -> ActivityC 这就是task1的样子。 然后用户点击home buttom并选择启动App2,所以task1进入后台并且android启动一个新任务:task2,用户执行的操作: ActivityD -> ActivityE 现在让我们说ActivityE尝试启动ActivityB ,而ActivityB有启动模式singleTask 。 我的理解是task1再次来到前端,task2进入后台。 而task1现在看起来像这样: ActivityA -> ActivityB 意思是: ActivityC将从task1中删除,ActivityB将变为top活动。 如果用户现在单击“返回”按钮,他将来到task1的ActivityA ,而不是返回task2的ActivityE 我对吗? 谢谢

导航抽屉 – syncState()做什么以及为什么应该在onPostCreate()中调用它?

我正在学习在Android中创建导航抽屉。 在阅读本文时 ,我无法理解以下代码: @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); // Sync the toggle state after onRestoreInstanceState has occurred. mDrawerToggle.syncState(); } 文件说: 将抽屉指示符/示能表的状态与链接的DrawerLayout同步。 这应该从您的Activity的onPostCreate方法调用,以便在DrawerLayout的实例状态恢复后进行同步,以及状态可能以不通知ActionBarDrawerToggle的方式分散的任何其他时间。 (例如,如果您停止转发适当的抽屉事件一段时间。) 此外,我从sstn的答案中读到了onPostCreate() : 片段中的OnPostCreate onPostCreate()主要用于框架使用(尽管你可以覆盖它)。 文档说它是在onStart()和onRestoreInstanceState()之后调用的。 这可能导致假设它可能在onResume()之前被调用,因此可能在消息循环调度事件之前(包括AsyncTask的onPostExecute()方法),这意味着你的onPostExecute()只会在onPause()之后触发。 由于onPostCreate()没有正确记录,并且并非真正用于应用程序 – 我可能想说依赖任何观察到的行为并不是一个好主意。 从这两个我无法理解。 syncState()究竟做了什么以及为什么它应该在onPostcreate() ? 谁能更好地解释一下吗?

android:如何在按钮点击时更改布局?

我必须按照代码选择按钮点击时的布局。 View.OnClickListener handler = new View.OnClickListener(){ public void onClick(View v) { switch (v.getId()) { case R.id.DownloadView: // doStuff setContentView(R.layout.main); break; case R.id.AppView: // doStuff setContentView(R.layout.app); break; } } }; findViewById(R.id.DownloadView).setOnClickListener(handler); findViewById(R.id.AppView).setOnClickListener(handler); 当我单击“AppView”按钮时,布局会发生变化,但是当我单击“DownloadView”按钮时,没有任何反应。 这个链接说我必须开始一项新的活动。 但我不知道如何使用意图开始新活动的代码,是否会添加新文件? 编辑:我有关于新活动的代码: package com.example.engagiasync; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.TextView; public class AppView extends Activity implements […]

在“包名称”中已经恢复“包名”的意外恢复在Android中出错

如果更改手机或模拟器的方向,我会在LogCat中获得以下输出: 04-09 11:55:26.290: INFO/WindowManager(52): Setting rotation to 1, animFlags=0 04-09 11:55:26.300: INFO/ActivityManager(52): Config changed: { scale=1.0 imsi=310/260 loc=en_US touch=3 keys=2/1/1 nav=3/1 orien=2 layout=18} 04-09 11:55:26.460: INFO/UsageStats(52): Unexpected resume of client while already resumed in client 04-09 11:55:26.579: INFO/SearchPosition(807): Activity is paused 04-09 11:55:26.689: INFO/SearchPosition(807): Activity is resuming SearchPosition是显示的活动。 暂停活动是在onPause方法中写入的,而活动是在活动的onResume方法中恢复的。 我用google搜索了一下错误信息,但我并不完全理解它的含义。 我认为这可能意味着在更改屏幕方向后旧的Activity未被正确销毁。 它是否正确? 如果是,是什么导致错误? 如果这不正确? 这个输出是什么意思?

活动之间的卡片翻转animation

如何在活动之间进行卡片翻转animation http://developer.android.com/training/animation/cardflip.html 上面的链接在静态布局之间切换..我想在2个具有动态布局的活动之间做一个CardFlip ..谢谢提前.. 🙂 我有两个活动…… 包含产品详细信息的Main_Activity (Say Galaxy s3) Search_Activity ,用于查询用户搜索请求。 Main_Activity有一个搜索按钮。 单击按钮时, Main_Activity视图必须将卡片翻转为Search_Activity 。 类似地,一旦用户选择了产品,它应该是Card-Flip反之亦然。 我尝试按照上面的URL中所提到的那样实现..但它只在使用XML定义的两个静态布局之间翻转。 我正在ActionBar实现搜索

Android – 如何创建从列表视图中的项目到整个活动的转换?

我想要的是,当用户单击ListView中的列表项时,它将转换为整个活动(如下例所示),但我无法find解释此内容的教程,实际上,我做了不知道这个运动是怎么称呼的。 换句话说,我想要实现的目标是: 单击时增加列表项高程(如右图所示) 展开列表项并将其转换为下一个片段/活动布局,其中包含有关所单击项的详细信息 我尝试了很多过渡但没有运气。 任何人都可以帮我完成这个吗?

Android – 如何获取所有可用意图filter的列表?

我搜索Android文档,但由于一些疯狂的原因,我无法find所有可用的intentfilter列表。 我find了一个意图filter,它会做类似的事情,通过广播接收器通知我特定的活动(示例浏览器或电子邮件)已经启动或在前台。 任何人都可以帮助我。

Intent putExtra方法的最大长度? (强制关闭)

我需要一些调试我的应用程序的帮助。 首先:在模拟器和其他设备上,我的应用运行正常。 在我的设备上,我关闭了一个力(没有强制关闭消息)。 如果应用程序的活动发生更改,则会发生“崩溃”。 以下是MainActivity类的一些代码。 它只是通过webview从网页上读取html内容。 不,不可能通过HttpRequest执行此操作,因为我无法模拟发布请求。 public class MainActivity extends Activity { public final static String EXTRA_HTML = “com.example.com.test.HTML”; private WebView mWebView; private ProgressDialog mDialog; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mWebView = (WebView) findViewById(R.id.webView1); CookieSyncManager.createInstance(this); CookieManager cookieManager = CookieManager.getInstance(); cookieManager.removeAllCookie(); mWebView.setBackgroundColor(0); mWebView.setWebChromeClient(new WebChromeClient() { public boolean onConsoleMessage(ConsoleMessage cmsg) { if (cmsg.message().startsWith(“MAGIC”)) […]

Android:在执行时获取“无法重新加载AVD列表:”错误

在exectution时我得到一个错误 无法重新加载AVD列表:cvc-enumeration-valid:对于枚举'[ldpi,mdpi,tvdpi,hdpi,xhdpi,400dpi,xxhdpi,560dpi,xxxhdpi]’,值’280dpi’不是facet-valid。 它必须是枚举中的值。 解析C:\ Users \ Binil \ AppData \ Local \ Android \ sdk \ system-images \ android-22 \ android-wear \ armeabi-v7a \ devices.xml cvc-enumeration-valid时出错:值’280dpi’不是方面 – 有效的枚举'[ldpi,mdpi,tvdpi,hdpi,xhdpi,400dpi,xxhdpi,560dpi,xxxhdpi]’。 它必须是枚举中的值。 我正在使用android studio。 dependencies { compile fileTree(dir: ‘libs’, include: [‘*.jar’]) compile ‘com.android.support:appcompat-v7:22.2.1’ } 任何人都可以告诉我如何纠正这个错误。