有這麼多的方式,但我使用這一個:通行證數據
活動:(Main2Activity)
public class Main2Activity extends AppCompatActivity{
private String myString = "hello";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
...
}
public String getMyData() {
return myString;
}
}
片段:
public class MyFragment extends android.support.v4.app.Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Main2Activity activity = (Main2Activity) getActivity();
String myDataFromActivity = activity.getMyData();
return view;
}
}
主活動:
public class MainActivity extends AppCompatActivity {
-------
@Override
protected void onCreate(Bundle savedInstanceState) {
}
---
private void setupViewPager(ViewPager viewPager) {
Adapter adapter = new Adapter(getSupportFragmentManager());
adapter.addFragment(new MyFragment(), "MyFragment");
viewPager.setAdapter(adapter);
}
但它給我的類拋出異常:
java.lang.ClassCastException: com.example.dev03.xyz.Activities.MainActivity cannot be cast to com.example.dev03.xyz.Fragments.MyActivity
java.lang.ClassCastException: com.example.dev03.xyz.Fragments.MainActivity cannot be cast to com.example.dev03.xyz.Fragments.Main2Activity
- 包是相同的。
感謝
https://guides.codepath.com/android/ViewPager-with-FragmentPagerAdapter – USKMobility