package com.noprom.app.fragment;
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.v7.widget.SearchView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.EditText;
import android.widget.Toast;
import com.noprom.app.R;
import com.noprom.app.widget.viewpagerindicator.TabPageIndicator;
import java.util.ArrayList;
import java.util.List;
/**
* 综合Tab 新闻资讯主Fragment
*
* @author noprom (http://github.com/noprom)
* @version 1.0
* Created by noprom on 2014-2-25.
*/
public class MainFragment extends Fragment {
private final String TAG = "MainFragment";
private boolean mSearchCheck;
private ViewPager mViewPager;
private TabPageIndicator mTabPageIndicator;
private List<Fragment> mFragments;
private FragmentPagerAdapter mAdapter;
private String[] mMainTabTitles;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Log.d(TAG,"onCreateView");
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
mViewPager = (ViewPager) rootView.findViewById(R.id.viewpager_main);
mTabPageIndicator = (TabPageIndicator) rootView.findViewById(R.id.indicator_main);
initView();
rootView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
return rootView;
}
/**
* 初始化主界面新闻资讯的Fragment等
*/
private void initView() {
mFragments = new ArrayList<Fragment>();
Fragment mNewsFragment = new NewsFragment();
Fragment mHotNewsFragment = new HotNewsFragment();
Fragment mBlogFragment = new BlogFragment();
Fragment mRecommendFragment = new RecommendFragment();
mFragments.add(mNewsFragment);
mFragments.add(mHotNewsFragment);
mFragments.add(mBlogFragment);
mFragments.add(mRecommendFragment);
mMainTabTitles = new String[]{"资讯","热点","博客","推荐"};
// 设置适配器
mAdapter = new FragmentPagerAdapter(getFragmentManager()) {
@Override
public Fragment getItem(int position) {
return mFragments.get(position);
}
@Override
public int getCount() {
return mFragments.size();
}
@Override
public CharSequence getPageTitle(int position){
return mMainTabTitles[position];
}
};
mViewPager.setAdapter(mAdapter);
mTabPageIndicator.setViewPager(mViewPager, 0);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.menu, menu);
//Select search item
final MenuItem menuItem = menu.findItem(R.id.menu_search);
menuItem.setVisible(true);
SearchView searchView = (SearchView) menuItem.getActionView();
searchView.setQueryHint(this.getString(R.string.search));
((EditText) searchView.findViewById(R.id.search_src_text))
.setHintTextColor(getResources().getColor(R.color.nliveo_white));
searchView.setOnQueryTextListener(onQuerySearchView);
menu.findItem(R.id.menu_add).setVisible(true);
mSearchCheck = false;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_add:
Toast.makeText(getActivity(), R.string.add, Toast.LENGTH_SHORT).show();
break;
case R.id.menu_search:
mSearchCheck = true;
Toast.makeText(getActivity(), R.string.search, Toast.LENGTH_SHORT).show();
break;
}
return true;
}
private SearchView.OnQueryTextListener onQuerySearchView = new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
return false;
}
@Override
public boolean onQueryTextChange(String s) {
if (mSearchCheck) {
// implement your search here
}
return false;
}
};
}