Closed4
fragment から親の activity を操作する
TopFragment.kt
class TopFragment : Fragment() {
private lateinit var binding: FragmentTopBinding
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
binding = FragmentTopBinding.inflate(inflater)
return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
// activity で親の activity が取得できる
val button = activity!!.findViewById<AppCompatButton>(R.id.sampleButton)
}
}
やり方はこれで良いっぽい
findViewById
がぬるぽで落ちて何かと思っていたら、
複数サイズ用にそれぞれ activity
を用意していて、
そのうちの1つのボタンに sampleButton
の id を付与していなかった。
それを踏んだときに落ちるようになっていたみたい。
requireActivity().let {
if (it is Parent) {
it.parentMethod()
}
}
こっちのほうが圧倒的に良さそう
このスクラップは2021/04/06にクローズされました