Android开发中跳转FollowingActivity遇“Unreachable statement”错误求助
解决“Unreachable statement”错误的方法
嘿,作为Android开发新手碰到这个问题很正常,我来帮你捋清楚!
你遇到的Unreachable statement错误,核心原因非常直接:你的mFollowing点击监听代码写在了return view;语句之后。在Java中,方法执行到return时就会立即结束,后面的代码永远不会被执行,所以编译器会提示这个错误。
具体修改步骤:
- 把
mFollowing的点击监听代码移动到return view;之前的位置 - 你已经在
onCreateView方法开头通过mFollowing = (TextView) view.findViewById(R.id.tvFollowing);初始化了这个控件,所以不需要再重复执行findViewById了,直接复用这个变量就行
修改后的关键代码片段如下:
// ... 你的其他代码 ... TextView editProfile = (TextView) view.findViewById(R.id.textEditProfile); editProfile.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Log.d(TAG, "onClick: navigating to " + mContext.getString(R.string.edit_profile_fragment)); Intent intent = new Intent(getActivity(), AccountSettingsActivity.class); intent.putExtra(getString(R.string.calling_activity), getString(R.string.profile_activity)); startActivity(intent); getActivity().overridePendingTransition(R.anim.fade_in, R.anim.fade_out); } }); // 把这段监听代码移到return之前! mFollowing.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Log.d(TAG, "onClick: navigating to FollowingActivity"); Intent intent = new Intent(getActivity(), FollowingActivity.class); intent.putExtra(getString(R.string.calling_activity), getString(R.string.profile_activity)); startActivity(intent); getActivity().overridePendingTransition(R.anim.fade_in, R.anim.fade_out); } }); return view; // return语句放在所有控件逻辑之后
为什么之前跳转到AccountSettingsActivity的代码没问题?
因为那段点击监听代码写在了return view;之前,方法执行到这里时会正常注册监听,然后才返回视图,所以能正常工作。
这样修改后,你的mFollowing点击事件就能正常触发,跳转到FollowingActivity了!
内容的提问来源于stack exchange,提问作者Pete Eske
相关产品推荐
相关产品推荐

