Skip to content

Instantly share code, notes, and snippets.

View furkanaskin's full-sized avatar

faskN furkanaskin

View GitHub Profile
open class BaseBottomTabFragment : Fragment() {
var isNavigated = false
fun navigateWithAction(action: NavDirections) {
isNavigated = true
findNavController().navigate(action)
}
fun navigate(resId: Int) {
isNavigated = true
fun NavController.popBackStackAllInstances(destination: Int, inclusive: Boolean): Boolean {
var popped: Boolean
while (true) {
popped = popBackStack(destination, inclusive)
if (!popped) {
break
}
}
return popped
}
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/homeFragment"
android:icon="@drawable/ic_home"
android:menuCategory="secondary"
android:title="Home" />
<item
android:id="@+id/searchFragment"
private class MyAsyncTask extends AsyncTask<String, Void, int> {
protected void onPreExecute() {
// Ön hazırlık - UI threadinde çalışır.
}
protected int doInBackground(Void… param) {
// Network çağrısını burada yap.
}
protected void onProgressUpdate(String… values) {
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
// UI'i burada güncelle.
}
}
Runnable runnable = new Runnable() {
public void run() {
// Burada network çağrısı yapılır.
Runnable runnable = new Runnable() {
public void run() {
// Burada network çağrısı yapılır.
}
};
Thread mythread = new Thread(runnable);
mythread.start();
class PodcastFragment : BaseFragment<PodcastViewModel, FragmentPodcastBinding>(PodcastViewModel::class.java) {
private val podcastFragmentArgs: PodcastFragmentArgs by navArgs()
override fun init() {
super.init()
fun getData() {
viewModel.getEpisodes(podcastFragmentArgs.podcastID)
viewModel.podcastLiveData.observe(
viewLifecycleOwner,
val adapter = BestPodcastsAdapter { item ->
val podcastId = item.id
val action = HomeFragmentDirections.actionHomeFragmentToPodcastFragment().setPodcastID(podcastId ?: "")
findNavController().navigate(action)
}
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
app:startDestination="@id/fragmentHome">
<fragment
android:id="@+id/podcastFragment"
android:name="com.furkanaskin.app.podpocket.ui.podcast.PodcastFragment"
android:label="PodcastEpisodesFragment">
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
app:startDestination="@id/fragmentA">
<fragment
android:id="@+id/fragmentA"
android:name="com.kukapps.app.turbeapp.ui.main.splash.FragmentA"
android:label="fragment_a"