![](/img/trans.png)
[英]Calling Fragment Method from Activity - NullPointerException
[英]NullPointerException when calling a Fragment method from Activity?
调用Fragment的方法时出现NullPointerException
。
在我的MainActivity中:
AddTab fragObj = (AddTab) getSupportFragmentManager().findFragmentById(R.layout.fragment_add);
fragObj.receiveURL(sharedText);
receiveURL()是我的Fragment AddTab中的方法。
我在我的应用程序中使用pagerslidingtabstrip
创建选项卡,而Fragment
是由它的PagerAdapter
类创建的。
我不确定是否应该创建Tab的新实例,因为已经存在。 我也不知道该如何访问该实例。
我现在收到一个NullPointerException
。 任何人都可以帮助我如何在片段中调用该方法吗?
编辑:
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
使用为xml中的Fragment
分配的ID。 范例:
<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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.