Android Fragment 响应Button点击事件的处理 2023-03-28 14:59:10
( 1人已投票,[高质量] )
Fragment与Activity不同,他是兄弟关系,可以互相配合;
想显示一个按纽或者其他控件,首先第一步,必须知道View(加载好布局文件xml);
而Fragment特殊,生命周期决定他的View初始化在 onCreateView中
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.fragment_blank1, container, false); }
当这个函数运行return后说明有View了,在后续的动作中才能使用!
onActivityCreated 接下来这个老函数已经被遗弃了!我们替换新的函数- onViewCreated
很多新手不太明白如何快速重载一个函数,其中在需要放置的地方点击Ctrl+O即可弹出可重载的函数
继续输入名称,即可找到onViewCreated 仔细看这个函数,里面有个View,那么控件的初始化就在这里了!
@Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); //btn1 = view.findViewById(R.id.model1_btn1); //btn1.setOnClickListener(this); }
别忘了Fragment引入所需的接口implements View.OnClickListener
然后是一个必须重载的OnClick与一个自定义函数
@Override public void onClick(@NonNull View view) { switch (view.getId()) { case R.id.model1_btn1:TESTModel1Sub1();break; } } private void TESTModel1Sub1(){ Log.d(TAG,"Got it Modle 1"); }
经过测试,效果正常!
下一篇:没有了