Java Android onPause()未被调用
现在我有一个android片段,我想在其中存储Pause上的持久数据。但没有任何记录。为什么在片段中从未调用onPause() 片段:Java Android onPause()未被调用,java,android,Java,Android,现在我有一个android片段,我想在其中存储Pause上的持久数据。但没有任何记录。为什么在片段中从未调用onPause() 片段: package com.alarm.fragments; import android.app.Fragment; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import and
package com.alarm.fragments;
import android.app.Fragment;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.ToggleButton;
import com.alarm.R;
import com.alarm.models.Alarm;
import com.alarm.sql.Database;
public class AlarmCreateFragment extends Fragment {
ToggleButton sunday;
ToggleButton monday;
ToggleButton tuseday;
ToggleButton wednesday;
ToggleButton thursday;
ToggleButton friday;
ToggleButton saturday;
ToggleButton on;
TimePicker time;
EditText alarmName;
TextView alarmTitle;
private Alarm newAlarm;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
init();
return inflater.inflate(R.layout.frag_create_alarm, container, false);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.e("db", "onCreate called");
}
@Override
public void onPause() {
super.onPause();
Log.e("db", "onPause called");
newAlarm.setHour(getHour());
newAlarm.setMinute(getMinute());
newAlarm.setName(getTitle());
newAlarm.setOn(getOn());
Database db = new Database(getActivity());
db.storeAlarm(newAlarm);
}
private void init() {
sunday = (ToggleButton) getView().findViewById(R.id.sunday);
monday = (ToggleButton) getView().findViewById(R.id.monday);
tuseday = (ToggleButton) getView().findViewById(R.id.tuseday);
wednesday = (ToggleButton) getView().findViewById(R.id.wednesday);
thursday = (ToggleButton) getView().findViewById(R.id.thursday);
friday = (ToggleButton) getView().findViewById(R.id.friday);
saturday = (ToggleButton) getView().findViewById(R.id.saturday);
on = (ToggleButton) getView().findViewById(R.id.alarm_status);
time = (TimePicker) getView().findViewById(R.id.alarm_time);
alarmName = (EditText) getView().findViewById(R.id.edit_alarm_name);
alarmTitle = (TextView) getView().findViewById(R.id.alarm_title);
newAlarm = new Alarm();
}
private int getHour() { // 0-23
return time.getCurrentHour();
}
private int getMinute() {
return time.getCurrentMinute();
}
private String getTitle() {
return alarmTitle.getText().toString();
}
private boolean getOn() {
return on.isChecked();
}
/*
* Toggle the alarm on or off when toggle button clicked
*/
public void changeStatus(View view) {
boolean on = getOn();
if (on) {
newAlarm.setOn(true);
} else {
newAlarm.setOn(false);
}
}
}
活动:
package com.alarm.activity;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import com.alarm.R;
public class AlarmCreateActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.frag_create_alarm);
}
}
在此方面的任何帮助都将不胜感激。我只是想知道为什么没有调用fragments onPause()方法。(日志从未发生过)试试这个
只有在调用活动onResume()
或onPause()
时,才会调用片段onResume()
或onPause()
它们与活动紧密耦合
要了解更多信息,请阅读此
片段所在的活动的生命周期直接影响片段的生命周期,因此活动的每个生命周期回调都会导致每个片段的类似回调。例如,当活动收到onPause()时,活动中的每个片段都会收到onPause()
我可以搜索这个链接 你在做什么来期望调用onPause?我在清单中声明了一个父活动,我尝试了向上导航和使用后退按钮。