android 用fragment实现简单菜单点击功能

用fragment实现菜单点击功能。需求:首页分为左右两块,左侧显示一级菜单,点击更新右侧的二级菜单。

BaseActivity.java

public class BaseActivity extends FragmentActivity {
    long firstTime=0L;
    private MyApplication application = (MyApplication) this.getApplication();
    public boolean onKeyDown(int keyCode, KeyEvent event) {//捕捉返回键
        if ((keyCode == KeyEvent.KEYCODE_BACK)) {   
             long secondTime = System.currentTimeMillis(); 
                if (secondTime - firstTime > 2000) {//如果两次按键时间间隔大于800毫秒,则不退出 
                    Toast.makeText(BaseActivity.this, "再按一次退出程序", 
                            Toast.LENGTH_SHORT).show();
                    firstTime = secondTime;//更新firstTime 
                    return true; 
                } else { 
                    application.IMAGE_CACHE.saveDataToDb(this, "wloaa");
                    ExitActivityManger.getInstance().finish();
                    System.exit(0);//否则退出程序 
                } 
            } 
            return super.onKeyUp(keyCode, event); 
        }
}

MainActivity.java

public class MainActivity extends BaseActivity {
    private MyApplication application;
    @SuppressLint("NewApi")
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        application = (MyApplication) this.getApplication();
        context = MainActivity.this;
        mAbHttpUtil.setDebug(true);
        setContentView(R.layout.activity_main);

        main_show_keshi_rela=(RelativeLayout)findViewById(R.id.main_show_keshi_rela);
        main_show_gonggao_rela=(RelativeLayout)findViewById(R.id.main_show_gonggao_rela);
        //.....

        fm = getSupportFragmentManager();
        fragment1 = new ZhiliangFragment();
        fragment2 = new GonggaoFragment();

        //初始化的时候需要显示一个fragment,假设我们显示第二个fragment
        //向容器中添加或者替换fragment时必须  开启事务  操作完成后   提交事务
        FragmentTransaction ft = fm.beginTransaction();
        ft.add(R.id.showContentFrame, fragment1).commit();
        initUi();

    }

    private void initUi(){

        OnClickListener relaClick = new OnClickListener() {
            @Override
            public void onClick(View v) {
                main_show_keshi_rela.setBackgroundResource(R.drawable.bg_leftbutton);
                main_show_gonggao_rela.setBackgroundResource(R.drawable.bg_leftbutton);

                FragmentTransaction ft = fm.beginTransaction();
                switch (v.getId()) {
                case R.id.main_show_keshi_rela:
                    main_show_keshi_rela.setBackgroundResource(R.drawable.bg_leftbutton_selected);
                    ft.replace(R.id.showContentFrame,fragment1 );
                    ft.commit();
                    break;
                case R.id.main_show_gonggao_rela:
                    main_show_gonggao_rela.setBackgroundResource(R.drawable.bg_leftbutton_selected);
                    ft.replace(R.id.showContentFrame,fragment2 );
                    ft.commit();        
                    break;

                default:
                    break;
                }
            }

        };

    main_show_keshi_rela.setOnClickListener(relaClick);
    main_show_gonggao_rela.setOnClickListener(relaClick);

    }

}

GonggaoFragment.java


public class GonggaoFragment extends Fragment {

    private Button button1;
    private Button button2;

    public GonggaoFragment(){}

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.fragment_gonggao, container, false);
        findView(rootView);
        return rootView;
    }
    private void findView(View rootView) {
        // 发布公告
        button1=(Button)rootView.findViewById(R.id.gonggaosend);
        button1.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                Intent intent = new Intent(getActivity(),AddXiaoxiSendActivity.class);
                intent.putExtra("from", 2);
                startActivity(intent);
            }
        });

        button2=(Button)rootView.findViewById(R.id.gonggaolist);
        button2.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                Intent intent = new Intent(getActivity(),XiaoxiListActivity.class);
                intent.putExtra("from", 0);
                startActivity(intent);
            }
        });

    }

}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值