老师我想问下关于fragment跳转到另一个activity页面的问题?

老师我想问下关于fragment跳转到另一个activity页面的问题?

就是按这个案例,我在第三个界面设置了三个Button,每个Button一旦被触发就跳转到另一个新的Activity,这个新的Activity没有底部的菜单条。

package com.example.mydrink.fragment;

import android.app.Fragment;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;

import com.example.mydrink.DrinkPlanActivity;
import com.example.mydrink.R;
import com.example.mydrink.TimePlanActivity;
import com.example.mydrink.WaterActivity;

public class PlanFragment extends Fragment {

	// 控件初始化
	private Button btn_water, btn_drinkplan, btn_timeplan;
	private Intent intent;

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

		return inflater.inflate(R.layout.fragment_plan, container, false);
	}

	@Override
	public void onActivityCreated(Bundle savedInstanceState) {

		super.onActivityCreated(savedInstanceState);
	}
	
	public void initView() {
		btn_water = (Button) getActivity().findViewById(R.id.btn_water);
		btn_drinkplan = (Button) getActivity().findViewById(R.id.btn_drinkplan);
		btn_timeplan = (Button) getActivity().findViewById(R.id.btn_timeplan);
	}
	
	public void initListener() {
		ButtonListener buttonListener = new ButtonListener();
		btn_water.setOnClickListener(buttonListener);
		btn_drinkplan.setOnClickListener(buttonListener);
		btn_timeplan.setOnClickListener(buttonListener);
	}
	
	class ButtonListener implements OnClickListener {
		


		@Override
		public void onClick(View v) {
			switch(v.getId()) {
			case R.id.btn_water:
				intent = new Intent(getActivity(), WaterActivity.class); 
				
				startActivity(intent);
				break;
			case R.id.btn_drinkplan:
				intent = new Intent(getActivity(), DrinkPlanActivity.class); 
				startActivity(intent);
				break;
			case R.id.btn_timeplan:
				intent = new Intent(getActivity(), TimePlanActivity.class); 
				startActivity(intent);
				break;
				
			}
			
		}
		
	}

}

我这样写程序崩溃了,没有提示哪里错误

LogCat显示这样

http://img1.sycdn.imooc.com/climg//593525b20001205910450373.jpg


请问要怎么写呢???


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕雪 2017-06-05 18:03:37

请仔细看一下Fragment的生命周期,

http://img1.sycdn.imooc.com/climg//59352bc2000191b203170847.jpg

所以initView();和 initListener();不能在onCreateView()中可放于onActivityCreated。祝:学习愉快


  • 提问者 旧时光777 #1
    现在程序不会直接崩,但是我一点Button就崩了。 老师我跳转到的新Activity里不需要fragment,也没有设置fragment,是因为这个原因吗?
    2017-06-05 20:07:56
  • 好帮手慕雪 回复 提问者 旧时光777 #2
    单看你这一块的内容没有问题,你再仔细看看LOG,是不是你那三个activity有问题呢
    2017-06-06 18:42:46
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师