Articles of oncreate

“activity.onCreate()”方法被多次调用是否正常?

我在onCreate方法和Activity中有一些代码,并注意到它被调用了三次。 这是正常的行为吗? 谢谢。

Android:在片段中放置活动的onCreate()代码的位置?

我将所有活动转换为Fragments,以便我可以在ViewPager中使用它们。 我已经搜索了这个,但我找不到令人满意的答案,所以这就是我在这里问的原因。 在我的活动中,我在onCreate()方法中编写了一些代码。 我例如调用一些findViewById()来将一些xml按钮链接到我的Activity。 我还在onCreate()中使一些视图不可见,设置OnClickListener() ,用文本填充TextView并删除通知,所有这些都在onCreate()方法中。 我的问题是:我应该把这段代码放在片段中? 在onCreate()? onCreateView()? onActivityCreated()? 为什么? 提前谢谢了!

我应该在onCreate还是onRestoreInstanceState中恢复savedinstancestate?

我有一个活动开始一些其他活动的结果,所以当结果返回时,活动可能已经或可能没有被销毁和重新创建。 我重写了onSaveInstanceState,以便添加需要保留和恢复的数据。 当活动被销毁并重新创建时,onCreate将传递savedInstanceState包; 而且还调用onRestoreInstanceState()并传递相同的bundle。 那么我应该在哪里放置从包中提取数据的代码并恢复状态? 在onCreate或onRestoreInstanceState中? 保证后者始终被称为? 是否有可能在不调用onCreate的情况下调用onRestoreInstanceState? (例如,如果活动停止并重新启动但未被销毁和重新创建)?

在onPause中保存活动状态

我有一个variables,我使用onSaveInstanceState成功保存和恢复 @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); // the UI component values are saved here. outState.putDouble(“VALUE”, liter); Toast.makeText(this, “Activity state saved”, Toast.LENGTH_LONG).show(); } 但这仅在活动被销毁时才有效。 我希望通过覆盖onPause()方法来保存相同的variables,并且当活动不再暂停时返回任何关于如何执行此操作的任何想法都非常感谢

java.lang.NoSuchMethodError:没有静态方法setOnApplyWindowInsetsListener

我将我的android工作室升级到2.1.3。 现在我得到了以下错误 java.lang.NoSuchMethodError: No static method setOnApplyWindowInsetsListener(Landroid/view/View;Landroid/support/v4/view/OnApplyWindowInsetsListener;)V in class Landroid/support/v4/view/ViewCompatLollipop; or its super classes (declaration of ‘android.support.v4.view.ViewCompatLollipop’ appears in /data/data/com.restroshop.restroowner/files/instant-run/dex/slice-internal_impl-24.2.0_7c318f8d2adb03d07a9def5d35a14e39204ecef2-classes.dex) at android.support.v4.view.ViewCompat$LollipopViewCompatImpl.setOnApplyWindowInsetsListener(ViewCompat.java:1619) at android.support.v4.view.ViewCompat.setOnApplyWindowInsetsListener(ViewCompat.java:2924) at android.support.v7.app.AppCompatDelegateImplV7.createSubDecor(AppCompatDelegateImplV7.java:425) at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:312) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:277) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) at com.restroshop.restroowner.splash.SplashScreen.onCreate(SplashScreen.java:65) at android.app.Activity.performCreate(Activity.java:6033) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) at android.app.ActivityThread.access$800(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) […]

什么是Android中的OnCreate方法

我是android的新手,试图了解下面的方法做了什么 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // load the layout setContentView(R.layout.filters); } 我的研究 :: onCreate用于启动活动 super用于调用父类构造函数 setContentView用于设置xml 但是这一切是什么 – onCreate(Bundle savedInstanceState) ….为什么那个捆绑包到那里,它是什么 什么是super.onCreate(savedInstanceState); 外行人的一些解释会有所帮助

如何恢复通知而不重新创建活动?

我以为我已经想到了这个问题,但在对这个问题进行了一些调试之后: 如何使通知无法删除/不可删除我刚刚意识到我的活动仍以随机顺序进入onCreated()和onDestroyed()。 我的活动清单: 我也尝试过launchmodes singleTask,singleInstance。 我的通知意图代码: Intent intent = new Intent(context, MyClass.class); intent.setAction(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); //intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); //intent.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT); //intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); //intent.setFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY); //intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 正如你所看到的,我已经尝试过看起来可能相关的每一面旗帜,但没有运气…… 这会产生一些不需要的伪像,例如每次单击通知时重新启动AlarmManager并触发alarmmanager start-task。 我想避免这个。 有什么建议么? 编辑:我知道有很多像这样的问题,但提供的解决方案似乎没有在这里做到这一点……:/ Edit2:根据要求,这是我的class级: package ***.***.***; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.Build; import android.os.Bundle; import android.annotation.TargetApi; import android.app.Activity; import android.app.AlarmManager; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import […]

从Activity的onCreate访问片段视图

我正在制作我的第一个Android应用程序,我有一个Fragment可以在Activity的onCreate()方法中添加到我的Activity中。 我面临的问题是我无法从Activity的onCreate()方法中findFragment包含的任何视图。 其他线程建议这是因为Fragment尚未膨胀,因此对于Fragment包含的任何视图, findViewById()将返回null。 这就是我的意思: 活动: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); System.out.println(“activity onCreate”); setContentView(R.layout.activity_main); if (savedInstanceState != null) { return; } initialiseUI(); // Fragment added to Activity System.out.println(“end of activity onCreate”); } 分段: @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { System.out.println(“fragment onCreateView”); return inflater.inflate(R.layout.event_log, container, false); } 这打印结果: activity onCreate活动结束onCreate片段onCreateView […]

SQLiteOpenHelper无法调用onCreate?

我正在尝试使用sqlite在Android手机上创建本地数据库。 我有一个帮助类,如下所示,用于创建数据库并提供“帮助”。 我想在我的代码的主要部分创建这个类的对象,它也在那里创建数据库和表。 问题: 每当我创建类的对象时,它似乎都没有在帮助器中调用onCreate方法。 我以为这应该发生。 我认为onCreate基本上是该类的构造函数。 (我相信我错了) 那么,为什么不调用onCreate方法呢? 或者我如何创建数据库和表格,我在哪里创建类的对象? 如果这不是一个好方法,那么更好的方法是什么? public class SmartDBHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = “smart_lite_db.db”; private static final int DATABASE_VERSION = 2; private static final String NOTIFY_TABLE_NAME = “user_notify_data”; private static final String HR_TABLE_NAME = “user_hr_data”; private static final String NOTIFY_TABLE_CREATE = “CREATE TABLE ” + […]

必须在super.onCreate上添加内容错误之前调用requestFeature()

我有一个扩展ActionBarActivity的抽象类。 在onCreate ,我有: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); … } 应用程序因内容错误之前的requestFeature()而崩溃,特别是在行super.onCreate(savedInstanceState)上super.onCreate(savedInstanceState) 。 在阅读了一些类似的post后,我想出了这个解决方案: @Override protected void onCreate(Bundle savedInstanceState) { requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); super.onCreate(savedInstanceState); … } 我的问题是:为什么它会在超级电话上崩溃? 此外,我不会在扩展此类的类中设置settingContentView ,直到我调用super.onCreate 。 它仍然偶尔会崩溃。 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myapp/com.myapp.cycle.Cycle}: android.util.AndroidRuntimeException: requestFeature() must be called before adding content at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2351) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) at android.app.ActivityThread.access$600(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1331) at android.os.Handler.dispatchMessage(Handler.java:99) […]