package com.atguigu.beijingnews.fragment; import android.graphics.Color; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.ListView; import android.widget.TextView; import com.atguigu.baselibrary.DensityUtil; import com.atguigu.beijingnews.R; import com.atguigu.beijingnews.activity.MainActivity; import com.atguigu.beijingnews.base.BaseFragment; import com.atguigu.beijingnews.bean.NewsCenterBean; import com.atguigu.beijingnews.pager.NewsCenterPager; import java.util.List; /** * 作者:尚硅谷-杨光福 on 2017/2/5 14:55 * 微信:yangguangfu520 * QQ号:541433511 * 作用:左侧菜单 */ public class LeftMenuFragment extends BaseFragment { private ListView listView; private LeftMenuFragmentAdapter adapter; /** * 左侧菜单对应的数据 */ private List<NewsCenterBean.DataBean> datas; /** * 点击的位置 */ private int prePosition = 0; @Override public View initView() { listView = new ListView(mContext); listView.setPadding(0, DensityUtil.dip2px(mContext, 40), 0, 0); listView.setBackgroundColor(Color.BLACK); //设置监听 listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { //1.记录位置和刷新适配器 prePosition = position; adapter.notifyDataSetChanged();//getCount-->getiew //2.关闭侧滑菜单 MainActivity mainActivity = (MainActivity) mContext; mainActivity.getSlidingMenu().toggle();//关<->开 //3.切换到对应的详情页面 switchPager(prePosition); } }); return listView; } /** * 根据位置切换到不同的详情页面 * @param prePosition */ private void switchPager(int prePosition) { MainActivity mainActivity = (MainActivity) mContext; ContentFragment contentFragment = mainActivity.getContentFragment(); //得到新闻中心 NewsCenterPager newsCenterPager = contentFragment.getNewsCenterPager(); //调用新闻中心的切换详情页面的方法 newsCenterPager.switchPager(prePosition); } @Override public void initData() { super.initData(); } public void setData(List<NewsCenterBean.DataBean> dataBeanList) { this.datas = dataBeanList; //设置适配器 adapter = new LeftMenuFragmentAdapter(); listView.setAdapter(adapter); switchPager(prePosition); } class LeftMenuFragmentAdapter extends BaseAdapter { @Override public int getCount() { return datas.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { TextView textView = (TextView) View.inflate(mContext, R.layout.item_leftmenu, null); //设置内容 textView.setText(datas.get(position).getTitle()); if (prePosition == position) { //把颜色设置高亮-红色 textView.setEnabled(true); } else { textView.setEnabled(false); //把颜色设置默认-白色 } return textView; } } }