Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android onPause()未被调用_Java_Android - Fatal编程技术网

Java Android 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

现在我有一个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 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?我在清单中声明了一个父活动,我尝试了向上导航和使用后退按钮。