Android intent 转到按钮内的父活动';片段中的onClick()方法
基本上,我所有的片段都有自己的活动。但是,当切换到屏幕时。我只是切换活动,每个活动立即调用自己的片段。所以在一个片段中,我有一个按钮,我覆盖了按钮的onClick()方法。发布应用程序后,我收到一份崩溃报告,上面说onClick()正在获取nullException。我不确定是什么原因造成的,因为我一直在测试它,没有重现这个问题。可能当我调用父类时,我得到了nullException。一旦调用此按钮,我将尝试转到父活动。这是代码Android intent 转到按钮内的父活动';片段中的onClick()方法,android-intent,android-fragments,android-activity,android-button,Android Intent,Android Fragments,Android Activity,Android Button,基本上,我所有的片段都有自己的活动。但是,当切换到屏幕时。我只是切换活动,每个活动立即调用自己的片段。所以在一个片段中,我有一个按钮,我覆盖了按钮的onClick()方法。发布应用程序后,我收到一份崩溃报告,上面说onClick()正在获取nullException。我不确定是什么原因造成的,因为我一直在测试它,没有重现这个问题。可能当我调用父类时,我得到了nullException。一旦调用此按钮,我将尝试转到父活动。这是代码 doneButton.setOnClickListener
doneButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent doneActivity = null;
try {
if(Class.forName(parentActivity) != null){
doneActivity = new Intent(getActivity(), Class.forName(parentActivity));
doneActivity.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
}else{
getActivity().finish();
}
}
catch (ClassNotFoundException e) { }
startActivity(doneActivity);
}
请尝试以下操作:
}else{
finish();
}
基本上,只需删除“getActivity()”部分。我还没有测试它,但它可能会工作我在发现崩溃后添加了if语句。。所以这没什么区别。我想我需要在片段中使用getActivity().getApplicationContext()而不是getActivity()