You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 14:57:18