Tôi đang xây dựng một ứng dụng bằng cách sử dụng Máy nhắn tin có thư viện tương thích. Lực lượng ứng dụng của tôiĐóng bất cứ khi nào tôi cố gắng tạm dừng nó (ví dụ: khi tôi quay trở lại màn hình nền của mình).Vấn đề về Máy nhắn tin Android khi Tạm dừng
Tôi chưa bao giờ gặp phải lỗi nào thuộc loại đó và do đó, tôi không biết cách giải quyết nó.
tôi sẽ chỉ cho bạn mã của tôi trong khi tôi khá chắc chắn bạn sẽ không cần phải nhìn vào nó:
public class *** extends FragmentActivity {
/** Called when the activity is first created. */
static final int NUM_ITEMS = 5;
static final int NUM_ACTUALITE = 0;
static final int NUM_SELECTION = 1;
static final int NUM_MULTIMEDIA = 2;
static final int NUM_FESTIVALIER = 3;
static final int NUM_***E = 4;
MyAdapter mAdapter;
ViewPager mPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pager_layout);
mAdapter = new MyAdapter(getSupportFragmentManager());
mPager = (ViewPager) findViewById(R.id.pager);
mPager.setAdapter(mAdapter);
}
public static class MyAdapter extends FragmentPagerAdapter {
public MyAdapter(FragmentManager fm) {
super(fm);
}
@Override
public int getCount() {
return NUM_ITEMS;
}
@Override
public Fragment getItem(int position) {
switch (position) {
case NUM_ACTUALITE:
return ActuFragment.newInstance();
case NUM_SELECTION:
return SelectionFragment.newInstance();
case NUM_MULTIMEDIA:
return MultimediaFragment.newInstance();
case NUM_FESTIVALIER:
return FestivalierFragment.newInstance();
case NUM_***E:
return ***eFragment.newInstance();
default:
return ActuFragment.newInstance();
}
}
}
và logcat của tôi:
02-15 11:48:03.902: E/AndroidRuntime(11601): FATAL EXCEPTION: main
02-15 11:48:03.902: E/AndroidRuntime(11601): java.lang.RuntimeException: Unable to pause activity {com.**.**/com.**.**.***Activity}: java.lang.NullPointerException
02-15 11:48:03.902: E/AndroidRuntime(11601): at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2354)
02-15 11:48:03.902: E/AndroidRuntime(11601): at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2311)
02-15 11:48:03.902: E/AndroidRuntime(11601): at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:2291)
02-15 11:48:03.902: E/AndroidRuntime(11601): at android.app.ActivityThread.access$1700(ActivityThread.java:117)
02-15 11:48:03.902: E/AndroidRuntime(11601): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:938)
02-15 11:48:03.902: E/AndroidRuntime(11601): at android.os.Handler.dispatchMessage(Handler.java:99)
02-15 11:48:03.902: E/AndroidRuntime(11601): at android.os.Looper.loop(Looper.java:130)
02-15 11:48:03.902: E/AndroidRuntime(11601): at android.app.ActivityThread.main(ActivityThread.java:3683)
02-15 11:48:03.902: E/AndroidRuntime(11601): at java.lang.reflect.Method.invokeNative(Native Method)
02-15 11:48:03.902: E/AndroidRuntime(11601): at java.lang.reflect.Method.invoke(Method.java:507)
02-15 11:48:03.902: E/AndroidRuntime(11601): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
02-15 11:48:03.902: E/AndroidRuntime(11601): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
02-15 11:48:03.902: E/AndroidRuntime(11601): at dalvik.system.NativeStart.main(Native Method)
02-15 11:48:03.902: E/AndroidRuntime(11601): Caused by: java.lang.NullPointerException
02-15 11:48:03.902: E/AndroidRuntime(11601): at android.support.v4.app.FragmentManagerImpl.saveFragmentBasicState(FragmentManager.java:1576)
02-15 11:48:03.902: E/AndroidRuntime(11601): at android.support.v4.app.FragmentManagerImpl.saveAllState(FragmentManager.java:1617)
02-15 11:48:03.902: E/AndroidRuntime(11601): at android.support.v4.app.FragmentActivity.onSaveInstanceState(FragmentActivity.java:481)
02-15 11:48:03.902: E/AndroidRuntime(11601): at android.app.Activity.performSaveInstanceState(Activity.java:1037)
02-15 11:48:03.902: E/AndroidRuntime(11601): at android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1181)
02-15 11:48:03.902: E/AndroidRuntime(11601): at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2336)
02-15 11:48:03.902: E/AndroidRuntime(11601): ... 12 more
Một mảnh của mỏ:
public class ActuFragment extends Fragment {
public static ActuFragment newInstance() {
ActuFragment f = new ActuFragment();
return f;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View mainView = inflater.inflate(R.layout.actualites_layout,
container, false);
return mainView;
}
}
phải có điều gì đó sai trái với cách bạn đang sử dụng phân đoạn. bạn đã thử làm việc đó chưa có phân đoạn chưa? – josephus
có, và nó có vẻ hoạt động tốt. bạn có muốn không nhìn thấy những người khác một phần của mã của tôi không? –
Tôi đã bỏ lỡ đọc câu trả lời của bạn, không có tôi đã không thử nó mà không có mảnh vỡ, thực tế tôi đã chắc chắn nó không thể. nhưng tôi vẫn cần chúng. Tôi đã thêm một trong những mảnh của tôi, tất cả chúng đều giống nhau –