FRFragment Listener
interface FRFragmentListener
A listener interface for fragment events.
See also
Samples
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.os.bundleOf
import androidx.fragment.app.Fragment
import org.fog_rock.frfragmentlistener.fragment.FRFragmentListener
import org.fog_rock.frfragmentlistener.fragment.restoreFragmentEventListener
import org.fog_rock.frfragmentlistenersample.databinding.FragmentSampleBinding
fun main() {
//sampleStart
/**
* A sub-interface of `FRFragmentListener` that notifies the parent activity of fragment events.
*/
interface Listener: FRFragmentListener {
fun onClickedYesButton()
fun onClickedNoButton()
}
//sampleEnd
}
import android.os.Bundle
import org.fog_rock.frextensions.androidx.fragment.replaceFragment
import org.fog_rock.frfragmentlistener.activity.FRAppCompatActivity
import org.fog_rock.frfragmentlistener.dialog.FRDialogFragment
import org.fog_rock.frfragmentlistenersample.R
import org.fog_rock.frfragmentlistenersample.databinding.ActivitySampleBinding
fun main() {
//sampleStart
/**
* Register a fragment listener and keep a return value
* as a private field in the subclass of `FRAppCompatActivity`.
*/
private val fragmentListenerKey = registerForFragmentListener(object : SampleFragment.Listener {
override fun onClickedYesButton() {
// Write your result code here!
}
override fun onClickedNoButton() {
// Write your result code here!
}
})
//sampleEnd
}
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.os.bundleOf
import androidx.fragment.app.Fragment
import org.fog_rock.frfragmentlistener.fragment.FRFragmentListener
import org.fog_rock.frfragmentlistener.fragment.restoreFragmentEventListener
import org.fog_rock.frfragmentlistenersample.databinding.FragmentSampleBinding
fun main() {
//sampleStart
/**
* Register the listener key to arguments
* when generate a new instance of the fragment.
* The key of the pair would be `FRFragmentListener.ARGS_LISTENER_KEY`
* and its value would be the listener key.
*/
return SampleFragment().apply {
arguments = bundleOf(
FRFragmentListener.ARGS_LISTENER_KEY to fragmentListenerKey
)
}
//sampleEnd
}
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.os.bundleOf
import androidx.fragment.app.Fragment
import org.fog_rock.frfragmentlistener.fragment.FRFragmentListener
import org.fog_rock.frfragmentlistener.fragment.restoreFragmentEventListener
import org.fog_rock.frfragmentlistenersample.databinding.FragmentSampleBinding
fun main() {
//sampleStart
/**
* Restore a fragment listener in the fragment.
*/
private val listener: Listener? by lazy { restoreFragmentEventListener() }
//sampleEnd
}