引导页和viewpager

来源:互联网 发布:软件过了试用期 编辑:程序博客网 时间:2024/05/18 22:41
import java.util.ArrayList;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;

public class MainActivity extends Activity {

    private ViewPager vp;
    private ArrayList<View> list;
    private Button xt;
    private RadioGroup rg;
    private SharedPreferences sharedPreferences;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        vp = (ViewPager) findViewById(R.id.vp);
        rg = (RadioGroup) findViewById(R.id.rg);
        sharedPreferences = getSharedPreferences("comfig", MODE_PRIVATE);
        boolean b = sharedPreferences.getBoolean("isfirst", false);
        if(b==false){
            
            
            //创建数据源
            list = new ArrayList<View>();
            View view1 = View.inflate(MainActivity.this, R.layout.view1, null);
            View view2 = View.inflate(MainActivity.this, R.layout.view2, null);
            View view3 = View.inflate(MainActivity.this, R.layout.view3, null);
            xt = (Button) view3.findViewById(R.id.xt);
            //系统按钮点击事件
            xt.setOnClickListener(new OnClickListener() {
                
                @Override
                public void onClick(View v) {
                    Editor edit = sharedPreferences.edit();
                    edit.putBoolean("isfirst", true);
                    edit.commit();
                    Intent intent = new Intent(MainActivity.this,Main22Activity.class);
                    startActivity(intent);
                    finish();
                }
            });
            list.add(view1);
            list.add(view2);
            list.add(view3);
            //设置适配器
            vp.setAdapter(new PagerAdapter() {
                
                @Override
                public boolean isViewFromObject(View arg0, Object arg1) {
                    
                    return arg0==arg1;
                }
                
                @Override
                public int getCount() {
                    
                    return list.size();
                }
                @Override
                public void destroyItem(ViewGroup container, int position,
                        Object object) {
                    View view = list.get(position);
                    container.removeView(view);
                    //super.destroyItem(container, position, object);
                }
                @Override
                public Object instantiateItem(ViewGroup container, int position) {
                    View view = list.get(position);
                    container.addView(view);
                    return view;
                }
            });
        }else{
            Intent intent = new Intent(MainActivity.this,Main22Activity.class);
            startActivity(intent);
            finish();
        }
        
        
        
        //vp点击事件
        vp.setOnPageChangeListener(new OnPageChangeListener() {
            
            @Override
            public void onPageSelected(int arg0) {
                for(int i=0;i<list.size();i++){
                    RadioButton button = (RadioButton) rg.getChildAt(i);
                    if(arg0==i){
                        button.setChecked(true);
                    }
                }
                
            }
            
            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {
            
                
            }
            
            @Override
            public void onPageScrollStateChanged(int arg0) {
                
                
            }
        });
        //rg点击事件
        rg.setOnCheckedChangeListener(new OnCheckedChangeListener() {
            
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                for(int i=0;i<list.size();i++){
                    if(rg.getChildAt(i).getId()==checkedId){
                        vp.setCurrentItem(i);
                    }
                }
                
            }
        });
    }

    

}

原创粉丝点击