我的setContentView应该放在何处

来源:互联网 发布:与运算java 编辑:程序博客网 时间:2024/05/01 23:16
package com.example.kedong;
import java.util.ArrayList;
import android.support.v4.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.ViewGroup;
import android.view.Window;
import android.view.ViewGroup.LayoutParams;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.Toast;


public class PlantsActivity extends FragmentActivity {


private Fragment[] mFragments;
private RadioGroup bottomRg;
private FragmentManager fragmentManager;
private FragmentTransaction fragmentTransaction;
private RadioButton rbPlants, rbUnits, rbCurves, rbStandard, rbSet;
private ViewGroup main;


    private ViewPager mPager;
    private ArrayList<Fragment> fragmentsList;
    //包裹小圆点的图片视图组
    private ViewGroup pointViewGroup;
    private ImageView[] imageViews;
    private ImageView imageView;
    private int fragmentCout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// requestWindowFeature(Window.FEATURE_NO_TITLE);  
LayoutInflater inflater = getLayoutInflater();
main = (ViewGroup)inflater.inflate(R.layout.plants, null);


// setContentView(R.layout.plants);







setContentView(R.layout.plants);
mFragments = new Fragment[5];
fragmentManager = getSupportFragmentManager();
mFragments[0] = fragmentManager
.findFragmentById(R.id.fragement_plants);
mFragments[1] = fragmentManager
.findFragmentById(R.id.fragement_uints);
mFragments[2] = fragmentManager
.findFragmentById(R.id.fragement_curves);
mFragments[3] = fragmentManager
.findFragmentById(R.id.fragement_standard);
mFragments[4] = fragmentManager
.findFragmentById(R.id.fragement_set);
 
fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.hide(mFragments[0]);
fragmentTransaction.hide(mFragments[1]);
fragmentTransaction.hide(mFragments[2]);
fragmentTransaction.hide(mFragments[3]);
fragmentTransaction.hide(mFragments[4]);
fragmentTransaction.show(mFragments[0]).commit();
setFragmentIndicator();


// mPager = (ViewPager) main.findViewById(R.id.plantsFragmentViewPager);
//        fragmentsList = new ArrayList<Fragment>();
//        
//        
//        Fragment activityfragment = new FragmentOnePlant();
//        Fragment groupFragment = new FragmentOnePlant();
//        Fragment friendsFragment= new FragmentOnePlant();
//        Fragment chatFragment= new FragmentOnePlant();
//
//        fragmentsList.add(activityfragment);
//        fragmentsList.add(groupFragment);
//        fragmentsList.add(friendsFragment);
//        fragmentsList.add(chatFragment);
//        
//        
// pointViewGroup = (ViewGroup)main.findViewById(R.id.pointsViewGroup);
// imageViews = new ImageView[fragmentsList.size()];
// for(int i=0; i<fragmentsList.size(); i++){
// imageView = new ImageView(this);//能不能换成this
//
// if(imageView == null)return;
// imageView.setLayoutParams(new LayoutParams(20,20));
// imageView.setPadding(20, 0, 20, 0);
// imageViews[i] = imageView;
//
// if( i == 0){
// imageViews[i].setBackgroundResource(R.drawable.page_indicator_focused);
// }else{
// imageViews[i].setBackgroundResource(R.drawable.page_indicator);
// }
//
// pointViewGroup.addView(imageViews[i]);
// }

//        mPager.setOnPageChangeListener(new MyPageChangeListener());
//        mPager.setAdapter(new MyFragmentPagerAdapter(getSupportFragmentManager(), fragmentsList));
//        mPager.setCurrentItem(0);
        
}


private class MyPageChangeListener  implements OnPageChangeListener{


@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub

}


@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub

}


@Override
public void onPageSelected(int arg0) {
// TODO Auto-generated method stub
for(int i = 0;i<imageViews.length;i++){
imageViews[arg0].setBackgroundResource(R.drawable.page_indicator_focused);

if(arg0 != i){
imageViews[i].setBackgroundResource(R.drawable.page_indicator);
}
}
}

}


private class MyFragmentPagerAdapter extends FragmentPagerAdapter{
   private ArrayList<Fragment> fragmentsList;
   public MyFragmentPagerAdapter(FragmentManager fm) {
       super(fm);
   }
   
   public MyFragmentPagerAdapter(FragmentManager fm, ArrayList<Fragment> fragments) {
       super(fm);
       this.fragmentsList = fragments;
   }
@Override
public Fragment getItem(int arg0) {
// TODO Auto-generated method stub
return fragmentsList.get(arg0);
}


@Override
public int getCount() {
// TODO Auto-generated method stub
return fragmentsList.size();
}


}


private void setFragmentIndicator(){



bottomRg = (RadioGroup) findViewById(R.id.bottomRg);
//
// rbPlants = (RadioButton) findViewById(R.id.rbPlants);
// rbUnits = (RadioButton) findViewById(R.id.rbUnits);

bottomRg.setOnCheckedChangeListener(
new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(RadioGroup group, int checkedId){
fragmentTransaction = fragmentManager.beginTransaction()
.hide(mFragments[0]).hide(mFragments[1])
.hide(mFragments[2]).hide(mFragments[3])
.hide(mFragments[4]);

switch(checkedId){
case R.id.rbPlants:
fragmentTransaction.show(mFragments[0]).commit();
break;
case R.id.rbUnits:
fragmentTransaction.show(mFragments[1]).commit();
break;
case R.id.rbCurves:
fragmentTransaction.show(mFragments[2]).commit();
break;
case R.id.rbStandard:
fragmentTransaction.show(mFragments[3]).commit();
break;
case R.id.rbSet:
fragmentTransaction.show(mFragments[4]).commit();
break;
default:
break;
}

}
});
}




@Override
public boolean onCreateOptionsMenu(Menu menu){
super.onCreateOptionsMenu(menu);
CreateMenu(menu);
return true;
}


private void CreateMenu(Menu menu){
MenuItem mnu1 = menu.add(0, 0, 0, "Item 1");
{
mnu1.setIcon(R.drawable.refresh);
mnu1.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
}
}

@Override
public boolean onOptionsItemSelected(MenuItem item){
return MenuChoice(item);
}

private boolean MenuChoice(MenuItem item){
switch(item.getItemId()){
case 0:
Toast.makeText(this, "You Refresh the Data",
Toast.LENGTH_SHORT).show();
return true;
}
return false;
}


}


解决Viewpager的滑动效果的需要setContentView放在最后才能显示

然而使用按钮翻页效果又要求setContentView放在最前面

到底应该放在何处呢

0 0
原创粉丝点击