草庐IT

active_flag

全部标签

android - Activity 被杀死并重新创建后, fragment 仍然存在

我有一个FragmentActivity(支持Fragments),我在其中通过代码创建Fragment并将它们放入FrameLayouts。到目前为止一切正常。现在,如果我离开应用程序返回一切都很好,只要系统不杀死我的Activity(或者我使用DDMS中的停止按钮执行此操作)。如果发生这种情况,则不会调用任何内容,并且我的Activity会被杀死。不调用onDestroy。因此,当我重新打开我的应用程序时,所有fragment仍然存在,并且我得到NullPointerExeptions,因为它们试图完成它们的工作。fragment不应该存在于应用程序的这种状态中,所以这对我来说是个

android - 如何在 Activity 重新启动时保留复杂对象?

假设我有一个可序列化的JavaBean对象。我想在Activity故意通过onDestroy()时将其安全地存储起来(即不调用onSaveInstanceState())。我正在寻找一种不涉及创建数据库并将对象写入数据库的方法(主要是因为a)Android的DBAPI很糟糕,b)因为数据库使应用程序更新成为一场噩梦,因为没有像样的支持用于应用迁移)。我考虑将对象序列化为ByteArrayOutputStream,base64对其进行编码并将其作为字符串写入SharedPreferences文件。还是离得太远了?更新也许序列化到字符串的想法毕竟不是那么糟糕,似乎效果很好。这是我现在正在做

android - 如何在 Activity 重新启动时保留复杂对象?

假设我有一个可序列化的JavaBean对象。我想在Activity故意通过onDestroy()时将其安全地存储起来(即不调用onSaveInstanceState())。我正在寻找一种不涉及创建数据库并将对象写入数据库的方法(主要是因为a)Android的DBAPI很糟糕,b)因为数据库使应用程序更新成为一场噩梦,因为没有像样的支持用于应用迁移)。我考虑将对象序列化为ByteArrayOutputStream,base64对其进行编码并将其作为字符串写入SharedPreferences文件。还是离得太远了?更新也许序列化到字符串的想法毕竟不是那么糟糕,似乎效果很好。这是我现在正在做

android - 如果一个 Activity 被杀死,AsyncTask 会继续存在吗?

我想我知道这个问题的答案,但是一旦调用Activity被finish()ed,AsyncTask是否会继续存在?protectedvoidonPreExecute(){Toast.makeText(getApplicationContext(),"Yourdataisprocessing.",Toast.LENGTH_LONG);finish();}编辑:到目前为止有两个不同的答案:) 最佳答案 AsyncTask与UI线程相关联,如果Activity完成,则取消异步任务。[update]-Hackbod下面的评论是正确的。应该注意

android - 如果一个 Activity 被杀死,AsyncTask 会继续存在吗?

我想我知道这个问题的答案,但是一旦调用Activity被finish()ed,AsyncTask是否会继续存在?protectedvoidonPreExecute(){Toast.makeText(getApplicationContext(),"Yourdataisprocessing.",Toast.LENGTH_LONG);finish();}编辑:到目前为止有两个不同的答案:) 最佳答案 AsyncTask与UI线程相关联,如果Activity完成,则取消异步任务。[update]-Hackbod下面的评论是正确的。应该注意

android - 打算开始 Activity - 但不要放在前面

说明:ActivityA可见(或在后台)IntentI被广播接收到有值(value)的extra,然后将extra传递给新的IntentI2,该Intent将用于启动ActivityA。结果:不要将Activity放在前面如果Activity在后台。代码:IntentI2=newIntent(context,MyActivity.class);I2.putExtra(..I2.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);//|Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(I2);注

android - 打算开始 Activity - 但不要放在前面

说明:ActivityA可见(或在后台)IntentI被广播接收到有值(value)的extra,然后将extra传递给新的IntentI2,该Intent将用于启动ActivityA。结果:不要将Activity放在前面如果Activity在后台。代码:IntentI2=newIntent(context,MyActivity.class);I2.putExtra(..I2.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);//|Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(I2);注

android - 从另一个 Activity 返回的错误 requestCode onActivityResult

我有一个Activity调用另一个Activity,它调用其他一些Activity。我发送到最后一个Activity以获得结果,然后我将结果发送回第一个Activity。流程有点像A->B->C->D->C->B->AA到D的流程由startActivityForResult和D到的流程组成>A由onActivityResult组成。从D到BrequestCode总是相同的(我决定的那个),但是从B到A它突然从我的值变为随机值(在这种特殊情况下为196614)。这是我用来从activityA调用activityB的代码:filterByCatalogue.setOnClickListe

android - 从另一个 Activity 返回的错误 requestCode onActivityResult

我有一个Activity调用另一个Activity,它调用其他一些Activity。我发送到最后一个Activity以获得结果,然后我将结果发送回第一个Activity。流程有点像A->B->C->D->C->B->AA到D的流程由startActivityForResult和D到的流程组成>A由onActivityResult组成。从D到BrequestCode总是相同的(我决定的那个),但是从B到A它突然从我的值变为随机值(在这种特殊情况下为196614)。这是我用来从activityA调用activityB的代码:filterByCatalogue.setOnClickListe

android - 如何从广播接收器通知正在运行的 Activity ?

我有一个Activity,它需要响应广播事件。由于一个Activity不能同时是一个广播接收者,我做了一个广播接收器。我的问题是:如何从广播接收器通知Activity?我相信这是一种常见的情况,那么有没有设计模式呢? 最佳答案 广播就是通知。:)如果您想说,根据收到的广播启动Activity或服务等,那么您需要一个独立的广播接收器并将其放入list文件中。但是,如果您希望您的Activity本身响应广播,那么您可以在您的Activity中创建一个广播接收器的实例并在那里注册它。我使用的模式是:publicclassMyActivit