如何从 Android 中的托管活动访问片段按钮?

问题描述 投票:0回答:1

我有几个由活动托管的片段,我想从托管活动访问片段视图上的特定片段按钮

从片段中我可以像这样访问活动的按钮

btnSubmit = (MaterialButton) getActivity().findViewById(R.id.submit_btn);

我想做相反的事情,有什么方法可以做到这一点吗?

java android android-studio android-activity android-fragmentactivity
1个回答
0
投票

使用活动片段执行某些操作的正确方法如下

碎片

class MyFragment: Fragment(){

    var button: Button? = null

    override fun onCreateView(){
        ...
        button = view.findViewById(..)
    }

    fun disable(){
        button.enabled = false
    }
}

活动

使用片段管理器通过 ID(或其他方式)找到片段并将其转换为您的片段

然后调用该片段的方法(参见上面的 MyFragment)以禁用按钮

class MainActivity: AppCompatActivity(){

    fun disableFragmentButton(){
        (supportFragmentManager.findFragmentById(...) as MyFragment).disable()
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.