Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将值从活动传递到片段时出现空指针异常_Java_Android - Fatal编程技术网

Java 将值从活动传递到片段时出现空指针异常

Java 将值从活动传递到片段时出现空指针异常,java,android,Java,Android,这是我的主要活动课。在这个类中,我试图将数据发送到我的片段“HomeFragment”,然后启动第二个活动“SwipeMainActivity” 这是编码的一部分: @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Title clickedTitle = mAdapter.getItem(position

这是我的主要活动课。在这个类中,我试图将数据发送到我的片段“HomeFragment”,然后启动第二个活动“SwipeMainActivity”

这是编码的一部分:

 @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Title clickedTitle = mAdapter.getItem(position);
            Log.d(TAG, "clickedItem : " + clickedTitle.getTitleName());
            Intent intent = new Intent(this, SwipeMainActivity.class);
            HomeFragment fragobj=new HomeFragment();
            Bundle bundle = new Bundle();
            bundle.putLong(HomeFragment.EXTRA_SELECTED_TITLE_ID, clickedTitle.getId());
            fragobj.setArguments(bundle);
    //       intent.putExtra(SwipeMainActivity.EXTRA_SELECTED_TITLE_ID, clickedTitle.getId());
            startActivity(intent);
然后,我的家庭片段:

我得到了这个错误:

02-24 00:34:02.266 15575-15575/com.kawlni.silence.bekang W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x40015560)
02-24 00:34:02.276 15575-15575/com.kawlni.silence.bekang E/AndroidRuntime: FATAL EXCEPTION: main
    java.lang.NullPointerException
        at com.kawlni.silence.bekang.Swipe.HomeFragment.onCreateView(HomeFragment.java:58)
        at android.support.v4.app.Fragment.performCreateView(Fragment.java:1962)
        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067)
        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1248)
        at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738)
        at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1613)
        at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:570)
        at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
        at android.support.v4.view.ViewPager.populate(ViewPager.java:1106)
        at android.support.v4.view.ViewPager.populate(ViewPager.java:952)
        at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1474)
        at android.view.View.measure(View.java:8313)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017)
        at android.widget.LinearLayout.measureVertical(LinearLayout.java:386)
        at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
        at android.view.View.measure(View.java:8313)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
        at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:135)
        at android.view.View.measure(View.java:8313)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017)
        at android.widget.LinearLayout.measureVertical(LinearLayout.java:386)
        at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
        at android.view.View.measure(View.java:8313)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
        at android.view.View.measure(View.java:8313)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
        at android.view.View.measure(View.java:8313)
        at android.view.ViewRoot.performTraversals(ViewRoot.java:839)
        at android.view.ViewRoot.handleMessage(ViewRoot.java:1859)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:123)
        at android.app.ActivityThread.main(ActivityThread.java:3683)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:507)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
        at dalvik.system.NativeStart.main(Native Method)

您可以使用此工厂方法方法,使用提供的参数创建片段的新实例

public static final String EXTRA_SELECTED_TITLE_ID = "extra_key_selected_title_id";

private Long mTitleId;


public static HomeFragment newInstance(Long titleId) {
    HomeFragment fragment = new HomeFragment();
    Bundle args = new Bundle();
    args.putString(EXTRA_SELECTED_TITLE_ID, titleId);
    fragment.setArguments(args);
    return fragment;
}

public HomeFragment() {
    // Required empty public constructor
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (getArguments() != null) {
        mTitleId = getArguments().getString(EXTRA_SELECTED_TITLE_ID);
    }
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {    
    Log.d(LOG_TAG , "EXTRA_SELECTED_TITLE_ID = " + mTitleId);
    return inflater.inflate(R.layout.fragment_home, container, false);  
}
您可以使用如下方法:

HomeFragment fragobj = HomeFragment.newInstance(clickedTitle.getId());

Swipe.HomeFragment.onCreateView(HomeFragment.java:58)行是什么?i=bundle.getLong(this.EXTRA\u SELECTED\u TITLE\u ID,-1);这篇文章可能会引起你的兴趣。是的,我已经做了。无论如何,我再试一次。对不起。我不明白。我把那些代码放在我的家庭片段中,仍然没有任何效果。哦,我对安卓系统的研究太陌生了,它还在崩溃吗?我添加了log
log.d(log_标签,“额外选择的标题”ID=“+mTitleId”)你看到anylogI了吗?我将此代码放在我的ActivityMain中(我希望数据从中传递):HomeFragment fragobj=HomeFragment.newInstance(clickedTitle.getId());在我的日志中,它显示D/TAGS:EXTRA\u SELECTED\u TITLE\u ID=0也在这一行,如果(getArguments()!=NULL),则该值始终为NULL{
public static final String EXTRA_SELECTED_TITLE_ID = "extra_key_selected_title_id";

private Long mTitleId;


public static HomeFragment newInstance(Long titleId) {
    HomeFragment fragment = new HomeFragment();
    Bundle args = new Bundle();
    args.putString(EXTRA_SELECTED_TITLE_ID, titleId);
    fragment.setArguments(args);
    return fragment;
}

public HomeFragment() {
    // Required empty public constructor
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (getArguments() != null) {
        mTitleId = getArguments().getString(EXTRA_SELECTED_TITLE_ID);
    }
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {    
    Log.d(LOG_TAG , "EXTRA_SELECTED_TITLE_ID = " + mTitleId);
    return inflater.inflate(R.layout.fragment_home, container, false);  
}
HomeFragment fragobj = HomeFragment.newInstance(clickedTitle.getId());