在旋转设备时,始终会调用前一个类的onActivityCreated()

时间:2013-08-22 09:41:48

标签: android

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

  

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

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

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);
}}

3 个答案:

答案 0 :(得分:0)

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

Handling Runtime Changes

希望这会对你有帮助....

答案 1 :(得分:0)

试试这个......在manifest.xml中添加这一行

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

答案 2 :(得分:0)

检查Manifest.xml文件中的方向。从纵向转换为横向或反之亦然可能有所帮助。