package com.wb.sc.mk.butler; import android.content.Intent; import android.content.res.Configuration; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.view.View; import android.view.View.OnClickListener; import com.wb.sc.R; import com.wb.sc.activity.base.BaseHeaderActivity; import com.wb.sc.mk.personal.MyRepairActivity; public class PropertyRepairsActivity extends BaseHeaderActivity implements OnClickListener{ private Class fragments[] = {PersonalRepairsFragment.class, PublicRepairsFragment.class}; private View personalV; private View publicV; private ViewPager contentVp; private RepairsAdapter adapter; private Fragment[] instanceFragments; private View myRepairBtn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_property_repairs); getIntentData(); initHeader(getResources().getString(R.string.ac_property_repairs)); initView(); } @Override public void getIntentData() { } @Override public void initView() { myRepairBtn = findViewById(R.id.my_repairs); myRepairBtn.setOnClickListener(this); personalV = findViewById(R.id.personal_repairs); personalV.setSelected(true); personalV.setOnClickListener(this); publicV = findViewById(R.id.public_repairs); publicV.setOnClickListener(this); instanceFragments = new Fragment[fragments.length]; contentVp = (ViewPager) findViewById(R.id.content_pager); adapter = new RepairsAdapter(getSupportFragmentManager()); contentVp.setAdapter(adapter); contentVp.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int position) { if(position == 0) { personalV.setSelected(true); publicV.setSelected(false); } else { personalV.setSelected(false); publicV.setSelected(true); } } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageScrollStateChanged(int arg0) { } }); } @Override public void onClick(View v) { super.onClick(v); switch(v.getId()) { case R.id.my_repairs: Intent intent = new Intent(this, MyRepairActivity.class); startActivity(intent); break; case R.id.personal_repairs: contentVp.setCurrentItem(0); personalV.setSelected(true); publicV.setSelected(false); break; case R.id.public_repairs: contentVp.setCurrentItem(1); personalV.setSelected(false); publicV.setSelected(true); break; } } class RepairsAdapter extends FragmentPagerAdapter { public RepairsAdapter(android.support.v4.app.FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { Fragment fg = null; try { fg = (Fragment) Class.forName(fragments[position].getName()).newInstance(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } instanceFragments[position] = fg; return fg; } @Override public int getCount() { return fragments.length; } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { int position = contentVp.getCurrentItem(); Fragment fragment = instanceFragments[position]; if(fragment != null) { fragment.onActivityResult(requestCode, requestCode, data); } } /** * 处理在拍照时屏幕翻转的问题 */ public void onConfigurationChanged(Configuration newConfig) { if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { Configuration o = newConfig; o.orientation = Configuration.ORIENTATION_PORTRAIT; newConfig.setTo(o); } super.onConfigurationChanged(newConfig); } }