У меня возникают проблемы при попытке показать диалоговое сообщение, которое подтверждает выход пользователя из системы, большая проблема в том, что я использую меню Drawner, и он вызывает фрагмент, но я не знаю, как показать диалоговое сообщение на фрагментах.
я пробовал это:
import android.os.Bundle
import android.support.v4.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.support.v7.app.AlertDialog
class LogoutFragment : Fragment(){
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
val builder = AlertDialog.Builder(this@LogoutFragment)
builder.setTitle("Dual Signal")
builder.setMessage("Realmente deseja sair?")
builder.setPositiveButton("Sair"){dialog, which ->
}
builder.setNegativeButton("Voltar"){dialog,which ->
}
val dialog: AlertDialog = builder.create()
val lol = dialog.show()
return lol
}
}
это мой рисователь меню
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:title="inbox"
android:id="@+id/nav_item_inbox"
android:icon="@drawable/inbox"/>
<item
android:title="draft"
android:id="@+id/nav_item_draft"
android:icon="@drawable/draft"/>
<item
android:title="sent"
android:id="@+id/nav_item_sent"
android:icon="@drawable/sent"/>
<item
android:title="Logout"
android:id="@+id/nav_logout"
android:icon="@drawable/exit"/>
это главная страница, которая вызывает фрагменты (это имеет размахвкладки)
class MainActivity : AppCompatActivity() {
lateinit var mDrawerLayout: DrawerLayout
lateinit var mNavigationView: NavigationView
lateinit var mFragmentManager: FragmentManager
lateinit var mFragmentTransaction: FragmentTransaction
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
mDrawerLayout = findViewById<View>(R.id.drawerLayout) as DrawerLayout
mNavigationView = findViewById<View>(R.id.navView) as NavigationView
mFragmentManager = supportFragmentManager
mFragmentTransaction = mFragmentManager.beginTransaction()
mFragmentTransaction.replace(R.id.containerView,
TabFragment()).commit()
mNavigationView.setNavigationItemSelectedListener {
menuItem -> mDrawerLayout.closeDrawers()
if (menuItem.itemId==R.id.nav_item_inbox){
val ft = mFragmentManager.beginTransaction()
ft.replace(R.id.containerView, TabFragment()).commit()
}
if (menuItem.itemId==R.id.nav_item_sent){
val ft = mFragmentManager.beginTransaction()
ft.replace(R.id.containerView, SentFragment()).commit()
}
if (menuItem.itemId==R.id.nav_item_draft){
val ft = mFragmentManager.beginTransaction()
ft.replace(R.id.containerView, DraftFragment()).commit()
}
false
}
val toolbar = findViewById<View>(R.id.toolbar) as Toolbar
val mDrawerToggle = ActionBarDrawerToggle(this,mDrawerLayout,toolbar,
R.string.app_name,R.string.app_name)
mDrawerLayout.setDrawerListener(mDrawerToggle)
mDrawerToggle.syncState()
}
}