簡體   English   中英

如何使按鈕在kotlin中的另一個片段中打開另一個片段

[英]How to make button open another fragment from within another fragment in kotlin

如何使按鈕打開另一個片段。 在一個片段內。 科特林

我在kotlin開始,我很難用按鈕打開一個片段,我該怎么辦?

您需要使用FragmentManager和FragmentTransaction動態添加片段。 您可以在按鈕的onClick方法中調用與此類似的功能。 但是建議父活動處理每個片段的生命周期,並且片段不應該相互交互。 以下內容摘自開發人員文檔, 可在此處找到 “通常你會希望一個片段與另一個片段進行通信,例如根據用戶事件更改內容。所有片段到片段的通信都是通過共享的ViewModel或通過相關的Activity完成的。兩個片段永遠不應該直接通信“。

fun createFragmentonTheFly(){
        var mFragmentTransaction: FragmentTransaction = getSupportFragmentManager().beginTransaction()
        mFragmentTransaction.add(R.id.fr_container,new ProductListFragment()) 
        mFragmentTransaction.commit()
    }

最好的方法是添加一個接口,例如onFragmentDetachedLisetner,並添加一個方法replaceFragment()或其他東西,讓你的Activity實現這個交互作用,並在片段分離后立即替換它,並使你的片段包含你的按鈕當用戶點擊按鈕時自動完成,然后您的活動將替換為您想要啟動的活動。 並且還考慮重用片段,因為這首先是片段的主要目的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM