您的位置:首页 > 其它

【有源码】ViewPager+Fragment+RadioButton替代TabActivity

2014-06-12 16:49 543 查看
From:/article/1848331.html

[java]
view plaincopyprint?





package cn.com.jdsc; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.view.View; import android.view.View.OnClickListener; import android.widget.RadioButton; public class MainActivity extends FragmentActivity implements OnClickListener{ public static final int TAB_HOME = 0; public static final int TAB_CATAGORY = 1; public static final int TAB_CAR = 2; public static final int TAB_BUY = 3; public static final int TAB_MORE = 4; private ViewPager viewPager; private RadioButton main_tab_home, main_tab_catagory, main_tab_car, main_tab_buy, main_tab_more; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fragmentmain); initView(); addListener(); } private void initView() { viewPager = (ViewPager) findViewById(R.id.viewpager); main_tab_home = (RadioButton) findViewById(R.id.main_tab_home); main_tab_catagory = (RadioButton) findViewById(R.id.main_tab_catagory); main_tab_car = (RadioButton) findViewById(R.id.main_tab_car); main_tab_buy = (RadioButton) findViewById(R.id.main_tab_buy); main_tab_more = (RadioButton) findViewById(R.id.main_tab_more); main_tab_home.setOnClickListener(this); main_tab_catagory.setOnClickListener(this); main_tab_car.setOnClickListener(this); main_tab_buy.setOnClickListener(this); main_tab_more.setOnClickListener(this); FragmentAdapter adapter = new FragmentAdapter( getSupportFragmentManager()); viewPager.setAdapter(adapter); } private void addListener() { viewPager.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int id) { switch (id) { case TAB_HOME: main_tab_home.setChecked(true); break; case TAB_CATAGORY: main_tab_catagory.setChecked(true); break; case TAB_CAR: main_tab_car.setChecked(true); break; case TAB_BUY: main_tab_buy.setChecked(true); break; case TAB_MORE: main_tab_more.setChecked(true); break; default: break; } } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageScrollStateChanged(int arg0) { } }); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.main_tab_home: viewPager.setCurrentItem(TAB_HOME); break; case R.id.main_tab_catagory: viewPager.setCurrentItem(TAB_CATAGORY); break; case R.id.main_tab_car: viewPager.setCurrentItem(TAB_CAR); break; case R.id.main_tab_buy: viewPager.setCurrentItem(TAB_BUY); break; case R.id.main_tab_more: viewPager.setCurrentItem(TAB_MORE); break; default: break; } } }
package cn.com.jdsc;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.RadioButton;

public class MainActivity extends FragmentActivity implements OnClickListener{
public static final int TAB_HOME = 0;
public static final int TAB_CATAGORY = 1;
public static final int TAB_CAR = 2;
public static final int TAB_BUY = 3;
public static final int TAB_MORE = 4;

private ViewPager viewPager;
private RadioButton main_tab_home, main_tab_catagory, main_tab_car,
main_tab_buy, main_tab_more;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragmentmain);
initView();
addListener();
}

private void initView() {
viewPager = (ViewPager) findViewById(R.id.viewpager);
main_tab_home = (RadioButton) findViewById(R.id.main_tab_home);
main_tab_catagory = (RadioButton) findViewById(R.id.main_tab_catagory);
main_tab_car = (RadioButton) findViewById(R.id.main_tab_car);
main_tab_buy = (RadioButton) findViewById(R.id.main_tab_buy);
main_tab_more = (RadioButton) findViewById(R.id.main_tab_more);
main_tab_home.setOnClickListener(this);
main_tab_catagory.setOnClickListener(this);
main_tab_car.setOnClickListener(this);
main_tab_buy.setOnClickListener(this);
main_tab_more.setOnClickListener(this);

FragmentAdapter adapter = new FragmentAdapter(
getSupportFragmentManager());
viewPager.setAdapter(adapter);
}

private void addListener() {
viewPager.setOnPageChangeListener(new OnPageChangeListener() {

@Override
public void onPageSelected(int id) {
switch (id) {
case TAB_HOME:
main_tab_home.setChecked(true);
break;
case TAB_CATAGORY:
main_tab_catagory.setChecked(true);
break;
case TAB_CAR:
main_tab_car.setChecked(true);
break;
case TAB_BUY:
main_tab_buy.setChecked(true);
break;
case TAB_MORE:
main_tab_more.setChecked(true);
break;

default:
break;
}
}

@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {

}

@Override
public void onPageScrollStateChanged(int arg0) {

}
});
}

@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.main_tab_home:
viewPager.setCurrentItem(TAB_HOME);
break;
case R.id.main_tab_catagory:
viewPager.setCurrentItem(TAB_CATAGORY);
break;
case R.id.main_tab_car:
viewPager.setCurrentItem(TAB_CAR);
break;
case R.id.main_tab_buy:
viewPager.setCurrentItem(TAB_BUY);
break;
case R.id.main_tab_more:
viewPager.setCurrentItem(TAB_MORE);
break;

default:
break;
}
}
}

各个Fragment

[java]
view plaincopyprint?





package cn.com.jdsc;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class HomeFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
System.out.println("HomeFragment");
return inflater.inflate(R.layout.main_home, container, false);
}
}

package cn.com.jdsc;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class HomeFragment extends Fragment	{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
System.out.println("HomeFragment");
return inflater.inflate(R.layout.main_home, container, false);
}
}








下载地址1:http://www.400gb.com/file/64566349 [无需积分]

下载地址2:http://download.csdn.net/detail/qq634416025/6392371 [要积分
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: