我面临一个非常奇怪的问题。在我的活动中,当我按下Back按钮时,它没有调用父活动的onCreate()方法。
这是我的代码: 公共类AddNewGrocery扩展了Activity {
private DBHelper mydb ;
Button btnSave;
EditText editName;
EditText editQty;
EditText editPrice;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setTitle("Add List Item Details");
/** Setting a custom layout for the list activity */
setContentView(R.layout.add_grocery);
btnSave = (Button) findViewById(R.id.btnSave);
editName = (EditText) findViewById(R.id.txtName);
editQty=(EditText) findViewById(R.id.txtqty);
editPrice=(EditText) findViewById(R.id.txtPrice);
mydb = new DBHelper(this);
}}
这是我的mainfeast文件的代码:
<activity
android:name="com.example.grocerylist.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.grocerylist.AddNewList"
android:label="@string/app_name"
android:parentActivityName="com.example.grocerylist.MainActivity">
</activity>
<activity
android:name="com.example.grocerylist.AddNewGrocery"
android:label="@string/app_name"
android:parentActivityName="com.example.grocerylist.AddNewList">
</activity>
答案 0 :(得分:3)
这是因为已经创建了父活动,但在访问另一个活动时它已暂停。如果您想在返回活动时执行某些任务,可以使用&#39; onResume()&#39;方法
请参阅文档:Activity lifecycle
答案 1 :(得分:0)
我相信这是因为之前的活动仍在内存中,因此已经创建了。而是调用onResume()。 Activity lifecycle这解释了在不同情况下每个人所谓的内容。
答案 2 :(得分:0)
按下后退按钮只能保证调用onPause()方法。如果你想在每次恢复应用程序时调用onCreate(),你可以在重写的onPause()方法中放入onStop()。
答案 3 :(得分:0)
尝试在代码中调用onResume方法
public void onResume(){
super.onResume();
// do stuff
}