1.Activity传值给Fragment
1、Activity
Bundle bundleCode=new Bundle();
bundleCode.putString("gid", code);
f10Fragment=new F10Fragment();
f10Fragment.setArguments(bundleCode);
2、Fragment
Bundle bundle=getArguments();
String s=bundle.getString("gid");
2.Fragment中有几个Activity中没有的新方法
onAttach方法:Fragment和Activity建立关联的时候调用。
onCreateView方法:为Fragment加载布局时调用。
onActivityCreated方法:当Activity中的onCreate方法执行完后调用。
onDestroyView方法:Fragment中的布局被移除时调用。
onDetach方法:Fragment和Activity解除关联的时候调用。
3.类似ScrollView控件从Activity传给Fragment
1、GeGuActivity
private static ScrollView scrollView;
scrollView=(ScrollView) findViewById(R.id.gegu_sv);
public static ScrollView getScrollview(){
return scrollView;
}
2、Fragment
private ScrollView scrollView;
scrollView=GeGuActivity.getScrollview();
4.ViewPager轮播
1、局部
<android.support.v4.view.ViewPager
android:id="@+id/splash_viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
2、Activity
private void initView() {
view1 = LinearLayout.inflate(context, R.layout.guide_view01, null);
view2 = LinearLayout.inflate(context, R.layout.guide_view02, null);
view3 = LinearLayout.inflate(context, R.layout.guide_view03, null);
view4 = LinearLayout.inflate(context, R.layout.guide_view04, null);
start = (ImageView) view4.findViewById(R.id.splash_start);
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setClass(SplashXActivity.this, MainActivity.class);
startActivity(intent);
SplashXActivity.this.finish();
}
});
views = new ArrayList<View>();
views.add(view1);
views.add(view2);
views.add(view3);
views.add(view4);
viewPager = (ViewPager) findViewById(R.id.splash_viewpager);
pointImage0 = (ImageView) findViewById(R.id.page0);
pointImage1 = (ImageView) findViewById(R.id.page1);
pointImage2 = (ImageView) findViewById(R.id.page2);
pointImage3 = (ImageView) findViewById(R.id.page3);
viewPager.setOnPageChangeListener(new MyOnPageChangeListener());
guideViewPagerAdapter = new GuideViewPagerAdapter(views);
viewPager.setAdapter(guideViewPagerAdapter);
viewPager.setCurrentItem(0);
pointImage0.setImageDrawable(getResources().getDrawable(
R.drawable.page_indicator_unfocused));
pointImage1.setImageDrawable(getResources().getDrawable(
R.drawable.page_indicator_focused));
pointImage2.setImageDrawable(getResources().getDrawable(
R.drawable.page_indicator_focused));
pointImage3.setImageDrawable(getResources().getDrawable(
R.drawable.page_indicator_focused));
}
3、Adapter
public class GuideViewPagerAdapter extends PagerAdapter{
private List<View> views;
public GuideViewPagerAdapter(List<View> arrayList) {
views = arrayList;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return views.size();
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return (arg0 == arg1);
}
@Override
public void destroyItem(View container, int position, Object object) {
// TODO Auto-generated method stub
((ViewPager) container).removeView(views.get(position));
}
@Override
public Object instantiateItem(View container, int position) {
// TODO Auto-generated method stub
((ViewPager)container).addView(views.get(position));
return views.get(position);
}
}
5.Bundle中传递自定义的Arraylist<Object>
存的时候:
Bundle bundle = new Bundle();
ArrayList list = new ArrayList(); //这个list用于在budnle中传递 需要传递的ArrayList<Object>
list.add(ArrayList<Object>)
bundle.putParcelableArrayList("list",list)
取的时候:
ArrayList list = bundle.getParcelableArrayList("list");
list2= (List<Object>) list.get(0);//强转成你自己定义的list,这样list2就是你传过来的那个list了。
6.singleTask模式下Activity之间跳转传Intent数据
重写onNewIntent方法获得Intent