如何为Fragment添加OnClickListener以跳转至另一个Activity?代码未达预期
解决Fragment中添加OnClickListener实现跳转Activity的问题
你的代码最核心的问题是onCreateView方法没有返回inflated的View对象,这会导致Fragment无法正确加载布局,绑定的点击事件自然不会触发。以下是修正后的完整代码:
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragment_home, container, false); // 确保qr变量已提前声明(比如private Button qr;) qr = v.findViewById(R.id.qrb); qr.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(getActivity(), payphno.class); startActivity(intent); } }); // 必须返回加载后的View,否则Fragment无视图渲染 return v; }
除了这个核心问题,还可以排查以下几点确保跳转生效:
- 确认
payphnoActivity已经在AndroidManifest.xml中注册,示例代码:<activity android:name=".payphno" /> - 检查布局文件
fragment_home.xml中,id为qrb的控件是否存在,若为TextView等默认不可点击的控件,需添加android:clickable="true"属性 - 确保
qr变量的类型和布局中控件类型匹配(比如布局里是Button,代码里也要声明为Button)
内容的提问来源于stack exchange,提问作者Swasthik Acharya
相关产品推荐
相关产品推荐

