package com.buaa.shortytall.activity; import java.util.ArrayList; import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.app.ActionBar.Tab; import com.actionbarsherlock.app.ActionBar.TabListener; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuInflater; import com.actionbarsherlock.view.MenuItem; import com.buaa.shortytall.R; import com.buaa.shortytall.adapter.ViewPagerAdapter; import com.buaa.shortytall.view.fragment.CalcFragment; import com.buaa.shortytall.view.fragment.CheckFragment; import com.buaa.shortytall.view.fragment.HomeFragment; import com.buaa.shortytall.view.fragment.New_BaseFragment; import com.buaa.shortytall.view.fragment.SearchFragment; import android.app.AlertDialog; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.os.Message; import android.support.v4.app.FragmentTransaction; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.widget.EditText; import android.widget.Toast; public class New_MainActivity extends New_BaseActivity { protected ViewPager viewPager; protected ArrayList<New_BaseFragment> tabFragments; private New_BaseFragment currentTabFragment; protected ViewPagerAdapter viewPagerAdapter; private String myQusetion; protected TabListener tabListener = new TabListener() { @Override public void onTabUnselected(Tab tab, FragmentTransaction ft) { for (int i = 0; i < tabFragments.size(); ++i) { if (tabFragments.get(i).getTab() == tab) { tabFragments.get(i).onTabUnselected(); break; } } } @Override public void onTabSelected(Tab tab, FragmentTransaction ft) { for (int i = 0; i < tabFragments.size(); ++i) { if (tabFragments.get(i).getTab() == tab) { int k = viewPager.getCurrentItem() % tabFragments.size() - i; viewPager.setCurrentItem(viewPager.getCurrentItem() - k, true); tabFragments.get(i).onTabSelected(); currentTabFragment = tabFragments.get(i); break; } } } @Override public void onTabReselected(Tab tab, FragmentTransaction ft) { } }; protected OnPageChangeListener pageChangeListener = new ViewPager.OnPageChangeListener() { @Override public void onPageSelected(int arg0) { Tab tab = tabFragments.get(arg0 % tabFragments.size()).getTab(); getSupportActionBar().selectTab(tab); } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageScrollStateChanged(int arg0) { for (int i = 0; i < tabFragments.size(); ++i) { tabFragments.get(i).onPageScrollStateChanged(arg0); } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.new_base); viewPager = (ViewPager) findViewById(R.id.main_view_pager); viewPagerAdapter = new ViewPagerAdapter(this); getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); tabFragments = new ArrayList<New_BaseFragment>(); initTabs(); if (tabFragments.size() > 0) { currentTabFragment = tabFragments.get(0); } FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); for (int i = 0; i < tabFragments.size(); ++i) { addMessageHandler(tabFragments.get(i)); tabFragments.get(i).getTab().setTabListener(tabListener); getSupportActionBar().addTab(tabFragments.get(i).getTab()); fragmentTransaction.add(tabFragments.get(i), tabFragments.get(i).getClass().getName()); } fragmentTransaction.commit(); viewPagerAdapter.setData(tabFragments); viewPager.setAdapter(viewPagerAdapter); viewPager.setOnPageChangeListener(pageChangeListener); } @Override protected synchronized void handleMessage(Message message) { super.handleMessage(message); } @Override public boolean onMenuItemSelected(int featureId, MenuItem item) { if (currentTabFragment != null && currentTabFragment.onOptionsItemSelected(item)) { return true; } return super.onMenuItemSelected(featureId, item); } @Override public boolean onPrepareOptionsMenu(Menu menu) { menu.clear(); MenuInflater inflater = getSupportMenuInflater(); inflater.inflate(R.menu.function, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { if(item.getTitle().equals(getString(R.string.personal_center))){ //Toast.makeText(New_MainActivity.this, "test", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(New_MainActivity.this,PersonProfileActivity.class); startActivity(intent); } if(item.getTitle().equals(getString(R.string.query_doctor))){ //Toast.makeText(New_MainActivity.this, "test", Toast.LENGTH_SHORT).show(); EditText myEditText = new EditText(this); new AlertDialog.Builder(New_MainActivity.this) .setTitle("资讯内容") .setIcon(R.drawable.ic_launcher) .setView(myEditText) .setPositiveButton("确定", null) .setNegativeButton("取消", null) .show(); myQusetion = myEditText.getText().toString(); } return super.onOptionsItemSelected(item); } @Override protected void initTabs() { getSupportActionBar().setDisplayShowCustomEnabled(true); tabFragments.add(new HomeFragment(handler, this)); tabFragments.add(new CalcFragment(handler, this)); tabFragments.add(new CheckFragment(handler, this)); // tabFragments.add(new Sear chFragment(handler, this)); } }