Articles of android activity

为什么在退出我的活动时发生崩溃?

我退出(通过后退button)退出我的活动时遇到了应用程序崩溃。 据我所知,这是发生在Android的代码库,而不是我的,但我不完全相信这一点。 这是来自adb的堆栈跟踪: AndroidRuntime E Uncaught handler: thread main exiting due to uncaught exception AndroidRuntime E java.lang.RuntimeException: Unable to stop activity {MyApp/MyApp.MainActivity}: java.lang.NullPointerException AndroidRuntime E at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3097) AndroidRuntime E at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3159) AndroidRuntime E at android.app.ActivityThread.access$2400(ActivityThread.java:112) AndroidRuntime E at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1724) AndroidRuntime E at android.os.Handler.dispatchMessage(Handler.java:99) AndroidRuntime E at android.os.Looper.loop(Looper.java:123) AndroidRuntime E at android.app.ActivityThread.main(ActivityThread.java:3948) AndroidRuntime E at java.lang.reflect.Method.invokeNative(Native […]

将背景中的Android应用程序带到前台的方法

这是情景: AndroidManifest.xml使用android:launchMode="singleTask"定义了一个Activity。 (这意味着在整个应用程序生命周期中应该有一个单独的活动,对吧?) 在Activity.onCreate()期间,以编程方式创build广播接收器并侦听发送SMS。 即使在devise Activity.onPause()之后,接收器仍保持活动状态。 当用户完成应用程序,他按下设备主页button,调用Activity.onPause()和应用程序消失。 该设备显示了Android主屏幕。 收到短信时,广播接收机会收到短信,并尝试通过以下方式显示该活动: Intent it = new Intent(context, Akami.class); it.setAction(Intent.ACTION_MAIN); it.addCategory(Intent.CATEGORY_LAUNCHER); it.setComponent(new ComponentName(context.getPackageName(), "MyActivity")); it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(it); 但是,活动不会显示给用户。 a)为什么? b)有什么可能的方法使活动前景?

如何检索onResume()中的onSaveInstanceState()包?

我遇到与保存活动状态有关的问题。 我在这里search了很多关于这个问题的文章,但是我无法得到我的问题的答案。 我有一个Activity A与2 Fragments 。 Activity A保存Fragments显示的数据。 当我为我的设置启动一个新的Intent , Activity A暂停(不被销毁), onPause()和onSaveInstanceState()方法被调用,所以我将所有的数据保存在onSaveInstaceState() 。 当我从我的设置使用后退button返回Activity A再次显示,但是onCreate()方法没有被调用,因为Activity没有被销毁,而是调用onResume()方法,但我失去了我的variables在Activity A和我的状态不能访问保存在onSaveInstanceState()的Bundle ,因为onCreate()没有被调用。 那么onSaveInstanceState()只在旋转屏幕的时候才有用? 我如何访问保存在onSaveInstanceState()所有数据? 或者我应该将它们保存到一个文件或SharedPrefs以便稍后访问onResume() ?

如何决定何时在单独的进程中运行不同的android应用程序组件

我在这里读了下面的陈述 By default, all components of the same application run in the same process and most applications should not change this. However, if one needs to control which process a certain component belongs to, he can do so in the manifest file. The manifest entry for each type of component element—<activity>, <service>, <receiver>, and <provider>—supports […]

包含10个线性布局的viewflipper的最佳做法?

我正在着手一个由viewflipper组成的GUI活动,我想包含10个linearlayout布局。 将所有的布局放在同一个XML资源/布局文件中是可取的吗? 如果没有,是否有一个更有组织的方法来编码一个视图flipper与许多布局? 将同一个文件中的所有内容都带来显着的性能成本?

Activity和Fragment中的自动UIconfiguration更改处理有时会失败

我已经写了很长一段时间的Android应用程序,但现在我面临一个我从来没有想过的问题。 这是关于Activitys和Fragments的android生命周期与configuration更改。 为此,我用这个必要的代码创build了一个小应用程序: public class MainActivity extends FragmentActivity { private final String TAG = "TestFragment"; private TestFragment fragment; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FragmentManager fm = getSupportFragmentManager(); fragment = (TestFragment) fm.findFragmentByTag(TAG); if (fragment == null) { fragment = new TestFragment(); fm.beginTransaction().add(R.id.fragment_container, fragment, TAG).commit(); } } } 这里是我的TestFragment代码。 请注意,我正在调用setRetainInstance(true); 在onCreate方法中,因此在configuration更改后不会logging片段。 public class TestFragment […]

按下主页button时,活力正在被破坏。

在我的应用程序中,当我按主页button的活动将onDestroy() 。 它假设只调用onPause()方法吧? 为什么这样呢?

如何解决在Android的button问题的双击?

我的应用程序的样机: 问题: 当点击button1时 ,只需调用ActivitySecond的 Intent button1.setOnClickListener(this); public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.button1: Intent intent = new Intent(getApplicationContext(), ActivitySecond.class); startActivity(intent); break; default: break; } } 但是,在双击它打开两次 ActivitySecond。 如何解决它。 请任何解决scheme,然后共享。 谢谢。

Android – dynamic获取当前活动的前景

这里是情况: 在一个线程中,一个事件被触发。 当前的活动需要检索。 然后在该活动上创build一个对话框并显示。 问题:据我search,没有办法检索前台的当前活动。 额外的信息:这需要能够在多个活动中处理。 所以,可以在Activity-A或者B或者C中popup

通过setRetainInstance(true)将上下文传递给Fragment中的ArrayAdapter会导致泄漏?

我有一个ListFragment,将通过ArrayAdapter显示项目列表,我试图处理configuration更改(设备旋转)我觉得传递活动上下文到arrays适配器可能会导致内存泄漏,当循环重新启动活动和ListFragment适配器保留,因为我使用setRetainInstance(true),有人可以告诉我,如果我的理解是真实的? 如果是这样的话,最好的办法是什么。 是的,我不想null我的适配器onDetach并重新使用一次片段视图重新创build。 public class DummyXListFragment extends RoboSherlockListFragment{ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRetainInstance(true); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (adapter == null) adapter = new DummyItemAdapter(getActivity(), android.R.layout.simple_list_item_1, list); }