Activity Fragment 相关 ViewPager轮播 相关

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值