我是安卓系统的新手。我有一个问题。我正在使用碎片。我的应用程序有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文件中的方向。从纵向更改为横向或从横向更改可能会有所帮助。