Android:将数据从活动传递到片段时出错
嗨,我是Android编程新手 我创建了一个具有选项卡布局和swipeable视图的应用程序,如下链接所示: 我在活动文件下有1个活动文件Android:将数据从活动传递到片段时出错,android,android-activity,fragment,Android,Android Activity,Fragment,嗨,我是Android编程新手 我创建了一个具有选项卡布局和swipeable视图的应用程序,如下链接所示: 我在活动文件下有1个活动文件TabMainActivity.java和3个片段类 MyTabMainActivity.java引用此xml文件: main_menu.xml <android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android" and
TabMainActivity.java
和3个片段类
MyTabMainActivity.java
引用此xml文件:
main_menu.xml
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v4.view.ViewPager>
MyLockerFragment.java-
public class MyLockerFragment extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_mylocker,
container, false);
Bundle bundle = this.getArguments();
String email=bundle.getString("email");
}
错误出现在这一行:String email=bundle.getString(“email”)代码>
我是否遗漏了一些基本信息?在TabMainActivity.java中:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_menu);
String email = "tv.nguyen.2011@sis.smu.edu.sg";
Bundle bundle=new Bundle();
bundle.putString("email", email);
MyLockerFragment fragobj=new MyLockerFragment();
fragobj.setArguments(bundle);
//You needed to add this line to the fragment Activity onCreate() method(othwewise the getArguments() would return null):
getSupportFragmentManager().beginTransaction().add(android.R.id.content, fragobj).commit();
}//end of of onCreate method
在MyLockerFragment.java中:
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
String email = getArguments().getString("email");
View rootView = inflater.inflate(R.layout.fragment_mylocker,
container, false);
return rootView;
}
“错误在这一行…”那会是什么错误?请在您的问题中发布logcat输出。您好,我在第行看到一个java.lang.NullPointerException错误:当您将“电子邮件”添加到包中,然后再将其传递到您的片段时,email
是否已初始化?此行bundle.putString(“email”,email)
您在哪里创建了电子邮件
变量?一个单独的字符串变量,这没什么问题。你能编辑你的TabMainActivity.java
代码来展示你是如何以及在哪里声明和初始化这个字符串变量的吗?嗨,我尝试了上面的代码,但我一直在Bundle=this.getArguments()处得到一个java.lang.NullPointerException;String email=bundle.getString(“电子邮件”);
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
String email = getArguments().getString("email");
View rootView = inflater.inflate(R.layout.fragment_mylocker,
container, false);
return rootView;
}