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

如何在Android Fragment中为EditText设置失去焦点事件?

在Fragment中为EditText设置失去焦点事件的实现示例

以下是可直接复制使用的Fragment代码示例,核心逻辑和你在Activity中实现的一致,仅需调整控件获取的方式:

public class YourFragment extends Fragment {
    private EditText oET_PSN;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // 加载当前Fragment的布局文件,请替换为你实际的布局文件名
        return inflater.inflate(R.layout.your_fragment_layout, container, false);
    }

    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        
        // 通过Fragment的根View获取目标EditText
        oET_PSN = view.findViewById(R.id.txtEqPSN);
        
        // 设置焦点变化监听器
        oET_PSN.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View view, boolean hasFocus) {
                if (!hasFocus) {
                    // 失去焦点时执行的业务逻辑
                    Log.d("oET_PSN", "Lost Focus");
                }
            }
        });
    }
}

关键说明

  • Fragment中无法直接调用findViewById(),必须通过onCreateView返回的View对象来查找布局内的控件。
  • onViewCreated是设置控件监听的最佳时机,此时Fragment的视图已经完全初始化完成。
  • 焦点变化的处理逻辑和Activity中完全相同,只需复用你原本的判断逻辑即可。

内容的提问来源于stack exchange,提问作者user23177095

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 04:00:54