我正在android應用程序上工作,但我想從活動傳遞一些數據到從導航抽屜形式的活動中顯示的意圖但是當我運行它時,我得到一個null指針異常。 這裏是我的活動方法NullPointerException將數據從活動傳遞到意圖
String EXTRA_LOGIN_DATA = "TATA";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = getIntent();
messageText = intent.getStringExtra(userData);
Bundle bundle = new Bundle();
bundle.putString(EXTRA_LOGIN_DATA, messageText);
// set Fragmentclass Arguments
HomeFragment fragobj = new HomeFragment();
fragobj.setArguments(bundle);
這裏是我的片段方法:
String EXTRA_USER_DATA;
private int lastX = 0;
TextView textView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
Bundle bundle = getArguments();
user_data = bundle.getString(new MainActivity().EXTRA_LOGIN_DATA);
但是當我運行的代碼我得到:
`E/AndroidRuntime: FATAL EXCEPTION: main
Process: info.androidhive.slidingmenu, PID: 7508
java.lang.RuntimeException: Unable to start activity ComponentInfo{info.androidhive.slidingmenu/info.androidhive.slidingmenu.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.os.Bundle.getString(java.lang.String)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.os.Bundle.getString(java.lang.String)' on a null object reference
at info.androidhive.slidingmenu.HomeFragment.onCreateView(HomeFragment.java:51)
at android.app.Fragment.performCreateView(Fragment.java:2220)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:973)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1148)
at android.app.BackStackRecord.run(BackStackRecord.java:793)
at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1535)
at android.app.FragmentController.execPendingActions(FragmentController.java:325)
at android.app.Activity.performStart(Activity.java:6252)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)`
任何人都可以請幫我在異常來了,如何解決它
檢查您是否從此代碼獲得String **「TATA」** new MainActivity().EXTRA_LOGIN_DATA'。 ?? –
在fragobj.setArguments(bundle)後顯示更多的代碼行;' –
我的片段在Mainactivity中顯示爲導航抽屜 – Nyerere