gpt4 book ai didi

java - android onCreate(Bundle savedInstanceState)

转载 作者:搜寻专家 更新时间:2023-11-01 09:46:04 24 4
gpt4 key购买 nike

我试图通过 Intent 将对象传递给 Activity ,在调试时,我注意到显然我什至从未进入 Activity 的 onCreate() 方法。即使 Activity 开始,我有布局和一切,我没有机会调试,因为永远不会到达 onCreate() 方法内的断点。这怎么可能,我在这里不明白什么?帮助:)

    listView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {

@Override
public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {


String selection = itemsArray[groupPosition][childPosition];
Class calc = null;

switch (selection) {
case "Calc1":
calc = Calc1.class;
break;
case "Calc2":
calc = Calc2.class;
break;
}

Intent intent = new Intent(Main.this, calc);
intent.putExtra("controller", getController());
startActivity(intent);

return false;
}
});

Activity 在 OnChildClick 事件上启动,我试图传递的对象是 Controller (由 getController() 方法返回)

@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.calc1);

controller = (Controller) getIntent().getSerializableExtra("controller");
setController(controller);

editA = (EditText) findViewById(R.id.editA);
editB = (EditText) findViewById(R.id.editB);
}

这是 onCreate(),我在 setContentView() 设置了断点,就像我说的,显然我从来没有到达那里......我觉得我这里遗漏了一些东西。

顺便说一句。我是 android 的新手 ;)

感谢阅读!

最佳答案

Android Activity 生命周期起初可能有点棘手。这是一个很好地解释它的图表:https://github.com/xxv/android-lifecycle您可以在此处获得有关所有 Activity 的更多详细信息:https://developer.android.com/reference/android/app/Activity.html#onCreate(android.os.Bundle)

Activity 有可能直接进入 onResume 或 onRestart,但如果您想确定(这是了解更多关于 Activity 生命周期的好方法!),请将一些日志放在一堆不同的 Activity 中方法(onCreate、onPause、onRestart 等)。然后尝试在不同的 Activity 之间导航、关闭应用程序、按下主页按钮、锁定屏幕、旋转屏幕等。您会注意到流程并不完全相同,它会帮助您找出位置将您的代码放在您的特定用例中。希望这对您有所帮助!

关于java - android onCreate(Bundle savedInstanceState),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38043529/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com