当旋转设备时,总是调用上一个类的onActivityCreated()



我是安卓系统的新手。我有一个问题。我正在使用碎片。我的应用程序有5个选项卡。在一个特定选项卡移动到另一个选项卡并旋转当前视图后,我的应用程序意外停止。通过调试,我得到了错误。错误是,当旋转当前视图时,控件转到上一个类的onActivtyCreated()。

datetext.setText(TimeFormater.FormatDate(dateString));

这一行给出了null指针异常。控制总是转到下面给出的代码。

public class ScheduleDailyView extends SherlockFragment{public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    nextbutn = (Button)getActivity().findViewById(R.id.buttonnext);
    prebutn = (Button)getActivity().findViewById(R.id.buttonpre);
    listview = (ListView)getActivity().findViewById(R.id.lv_schedule_listView);
    datetext = (TextView)getActivity().findViewById(R.id.textscheduleviewdate);
    dateString = TimeFormater.DateToString(Schedule.currentDate.getTime());
    ArrayList<ViewScheduleDTO> scheduleList =scheduleDaily.readschedules(dateString,doctor_id);
    datetext.setText(TimeFormater.FormatDate(dateString));
    rowitems = scheduleDaily.getScheduleRowList(dateString,scheduleList);
    listview.setAdapter(new ScheduleCustomView(appContext, rowitems));
    if(userType.equals(UserTypeEnum.Admin.getDisplayName()) || userType.equals(UserTypeEnum.Doctor.getDisplayName()))
        listview.setOnItemLongClickListener(this);
    listview.setOnItemClickListener(this);
    nextbutn.setOnClickListener(this);
    prebutn.setOnClickListener(this);
}}

试试这个。。。在manifest.xml 中添加此行

<activity android:name="Your Activity Name"
             android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:windowSoftInputMode="adjustPan"/>

无论何时旋转设备屏幕,都会重新创建当前活动。您希望应用程序处于哪个方向。您可以通过在清单文件中声明它来修复它。。。。如果它在两个方向上,则通过以下链接:

处理运行时更改

希望这能帮助你。。。。

检查Manifest.xml文件中的方向。从纵向更改为横向或从横向更改可能会有所帮助。

最新更新