Tag: android activity

你如何使用Intent.FLAG_ACTIVITY_CLEAR_TOP清除Activity Stack?

我已经阅读了几篇关于使用这个文章的post,但是一定是错过了一些东西,因为它不适合我。 我的活动A在清单中有launchmode =“singleTop”。 它启动活动B,launchmode =“singleInstance”。 活动B打开一个浏览器并接收和意图回来,这就是为什么它是singleInstance。 我正在尝试覆盖后退button,以便将用户发送回活动A,然后可以按返回离开活动,而不是再次返回到活动B. // activity B @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.ECLAIR && keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) onBackPressed(); return super.onKeyDown(keyCode, event); } @Override public void onBackPressed() { startActivity(new Intent(this, UI.class) .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK)); return; } 从浏览器返回后,堆栈是… A,B,浏览器,B 我期望这个代码将堆栈更改为… A …以便再次按回用户返回到主屏幕。 相反,它似乎将堆栈更改为… A,B,浏览器,B,A […]

如何将一个活动的值传递给之前的活动

我如何将一个屏幕的值传递到其前一个屏幕? 考虑这种情况:我有两个活动。 第一个屏幕有一个TextView和一个button,第二个活动有一个EditText和一个button。 如果我点击第一个button,那么它必须移动到第二个活动,这里用户必须在文本框中键入一些东西。 如果他从第二个屏幕按下button,那么文本框中的值应该移到第一个活动,并且应该显示在第一个活动TextView 。

onCreate()和onStart()之间的区别?

可能重复: Android活动生命周期 – onPause()和OnStop()之间的区别 我想知道 – onCreate()和onStart()方法有什么区别? 我认为onStart()是一个多余的方法。 onCreate()将永远被调用(至less在我的最后两个项目)。 任何人都可以解释这个区别吗?

完成所有以前的活动

我的应用程序有以下stream程屏幕: Home->screen 1->screen 2->screen 3->screen 4->screen 5 现在我在每个屏幕上都有一个通用的log outbutton ( Home/ screen 1 / screen 2 /screen 3/ screen 4 / screen 5 ) 我希望当用户点击注销button(从任何屏幕),所有的屏幕将完成,一个新的屏幕Log in将打开。 我已经尝试几乎所有的FLAG_ACTIVITY来实现这一点。 我也通过一些在计算器中的答案,但无法解决问题。 我的应用程序是在Android 1.6上,所以不能使用FLAG_ACTIVITY_CLEAR_TASK 有什么办法可以解决这个问题吗?

我怎样才能正确回到父母的活动?

我在我的android应用程序中有2个活动(A和B),我使用从活动A到活动B的意图。启用了parent_activity的使用: <activity android:name=".B" android:label="B" > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.app_name.A" /> </activity> 我也使用一个提供UPbutton的主题。 因此,在我调用活动后,BI可以使用UPbutton返回活动A.问题是应用程序似乎再次调用活动A的onCreate()函数,这不是我需要的行为。 我需要活动A,就像之前看到的那样,我称之为活动B. 有没有办法做到这一点? 提前致谢 编辑: 我没有写任何代码来从活动A开始活动B.我认为它是由eclipse自动生成的。 B类看起来像: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_b); getActionBar().setDisplayHomeAsUpEnabled(true); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_b, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: NavUtils.navigateUpFromSameTask(this); return true; } return […]

意图putExtra方法的最大长度? (强制closures)

我需要一些帮助来debugging我的应用程序。 首先:在模拟器和其他一些设备上,我的应用运行良好。 在我的设备上,我得到了一个closures力量(没有强制closures信息)。 如果应用程序的“活动”发生更改,则会发生“崩溃”。 这里是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 singleTask或singleInstance启动模式?

我有一个应用程序有一个列表作为其主要活动,然后你可以点击打开该项目的详细视图的项目。 我也有一个类似主要活动的search活动,并按预期工作。 不过,我希望这个search活动只在栈上有一个实例,以便用户可以多次search,而点击返回将返回到他们在开始search之前所在的视图(而不是返回到前面的search结果) singleTask和singelInstance启动模式似乎做我想要的,所以我不知道哪一个我应该用于这个目的,为什么?

Android应用程序内存不足问题 – 尝试了一切,仍然无所适从

我花了整整4天的时间来尝试所有能够找出我正在开发的应用程序中的内存泄漏的东西,但很久以前,事情就停止了。 我正在开发的应用程序是社交性的,所以请考虑简介活动(P)并列出活动与数据 – 例如徽章(B)。 您可以从configuration文件跳转到其他configuration文件的徽章列表,其他列表等。 所以想象一下像这样的P1 – > B1 – > P2 – > B2 – > P3 – > B3等stream程。为了一致性,我加载configuration文件和同一用户的徽章,所以每个P页是相同的每个B页面。 这个问题的一般要点是:根据每个页面的大小,在导航一段时间之后,我会在随机的地方(比如地图,string等等)发现内存不足的exception,这似乎并不一致。 在做完所有可以想象的事情之后,为什么我的记忆力已经耗尽,我什么都没有想到。 我不明白的是,为什么Android不会杀死P1,B1等,如果加载时耗尽内存,而不是崩溃。 如果我通过onCreate()和onRestoreInstanceState()返回它们,我预计这些早期的活动将会死亡并被复活。 更别提这个了 – 即使我做了P1 – > B1 – >后退 – > B1 – >后退 – > B1,我仍然崩溃。 这表明某种内存泄漏,但即使在转储hprof并使用MAT和JProfiler之后,我也无法find它。 我已经禁止从网上加载图像(并且增加了加载的testing数据以弥补它,并使testing公平),并确保图像caching使用SoftReferences。 Android实际上试图释放它所拥有的一些SoftReference,但是在它崩溃之前就已经崩溃了。 徽章页从Web获取数据,从BaseAdapter将其加载到一个EntityData数组中,并将其提供给一个ListView(我实际上使用CommonsWare的MergeAdapter ,但在这个Badge活动中,实际上只有一个适配器,但是我无论如何都想提到这个事实)。 我已经通过了代码,无法find任何会泄漏的东西。 我清除了所有可以find的东西,甚至System.gc()左右,但仍然是应用程序崩溃。 我还是不明白为什么没有获得收益的非活动活动,我真的很喜欢弄清楚。 在这一点上,我正在寻找任何提示,build议,解决scheme……任何可能的帮助。 谢谢。

完成另一项活动的活动

我想从另一个活动完成一个活动,如: 在Activity [A]中,点击button时,我正在调用Activity [B]而没有结束Activity [A]。 现在在活动[B]中,有两个button, 新build和修改 。 当用户点击修改,然后从堆栈中popup一个活动[A],并勾选所有选项。 但是当用户点击Activity [B]中的Newbutton时,我将必须从堆栈中完成Activity [A],并将Activity [A]重新加载到堆栈中。 我正在尝试,但是我无法从堆栈中完成Activity [A] …我该怎么做? 我使用的代码如下: 从活动[A]: Intent GotoB = new Intent(A.this,B.class); startActivityForResult(GotoB,1); 另一种方法在同一个活动 public void onActivityResult(int requestCode, int resultCode, Intent intent) { if (requestCode == 1) { if (resultCode == 1) { Intent i = getIntent(); overridePendingTransition(0, 0); i.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); finish(); overridePendingTransition(0, 0); startActivity(i); […]

Android – 我需要一些片段与活动和意见的澄清

在Android API 11+中,Google发布了一个名为Fragment的新类。 在video中,Googlebuild议尽可能(链接1,链接2),我们应该使用片段而不是活动,但是他们没有解释为什么。 碎片的目的和它们的一些可能的用途(除了一些简单的视图/布局可以轻易实现的UI示例之外)? 我的问题是关于碎片: 什么是使用片段的目的? 与使用活动/视图/布局相比,使用片段有哪些优缺点? 奖金问题: 你能给一些非常有趣的碎片使用吗? 谷歌没有在他们的video中提到的东西? 在片段和包含它们的活动之间进行通信的最佳方式是什么? 使用碎片时要记住什么是最重要的事情? 任何提示和警告从您的经验?