gpt4 book ai didi

java - 从 Activity 调用 Fragment 方法时出现 NullPointerException?

转载 作者:行者123 更新时间:2023-12-02 04:52:10 24 4
gpt4 key购买 nike

调用 Fragment 的方法时出现 NullPointerException

在我的主要 Activity 中:

  AddTab fragObj = (AddTab) getSupportFragmentManager().findFragmentById(R.layout.fragment_add);
fragObj.receiveURL(sharedText);

receiveURL() 是我的 Fragment AddTab 中的一个方法。

我在应用程序中使用 pagerslidingtabstrip 来创建选项卡,并且 Fragment 是由它的 PagerAdapter 类创建的。

我不确定创建选项卡的新实例是否正确,因为已经存在一个选项卡实例。我也不知道如何访问该实例。

我现在收到一个NullPointerException。谁能帮助我如何在 fragment 中调用该方法?

编辑:

AddTab.java:

public class AddTab extends Fragment implements View.OnClickListener {

...

}

fragment_add.xml:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" tools:context="com.example.nikhil.amazon1.Add">


<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:text="@string/URL"
android:hint="@string/hint"
android:layout_marginTop="200dp"
android:layout_gravity="center_horizontal|top" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Track"
android:id="@+id/button"
android:layout_gravity="center" />

</FrameLayout>

最佳答案

如果您使用<fragment>标签包含 Fragment在您的布局中,您可以使用 find findFragmentById使用您为 Fragment 分配的 ID在 XML 中。示例:

<fragment
...
android:id="@+id/fragment_id/>

AddTab fragObj = (AddTab)getSupportFragmentManager().findFragmentById(R.id.fragment_id);

如果您添加了 Fragment动态地,使用标签:

String TAG = "fragment tag";

FragmentTransaction ft;
ft.add(containerViewId, fragment, TAG);

AddTab fragObj = (AddTab)getSupportFragmentManager().findFragmentByTag(TAG);

关于java - 从 Activity 调用 Fragment 方法时出现 NullPointerException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29126691/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com