我想通过Intent将一个对象传递给一个活动,并且在我调试时,我注意到,显然我从来没有进入该活动的onCreate()
方法。即使活动开始,我也有布局和一切,但我没有机会进行调试,因为onCreate()
方法内的断点从未达到过。这怎么可能,我在这里不了解什么?帮助:)android onCreate(Bundle savedInstanceState)
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;
}
});
活动是在OnChildClick活动开始,我试图传递对象是控制器(由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;)
感谢您的阅读!
在回调方法内部添加一个日志或者一个toast来知道你是否达到它。 –
是在manifest中声明的活动吗?你有尝试把调试器放在控制器=(控制器)上吗? –
那么,它必须在某个时候达到,因为活动打开(只有在调用setContentView(R.layout.calc1);'时才可能),但我不明白为什么我不能调试。是的,一切都在清单中。我在'setController(controller);'后添加了Toast,但它没有出现。也是的,我试图把调试器放在方法的其他地方。它从来没有工作。 – mcCat