Котлин алертиддиалог.Я новичок в программировании Android и нужно немного света - PullRequest
0 голосов
/ 24 декабря 2018

У меня возникают проблемы при попытке показать диалоговое сообщение, которое подтверждает выход пользователя из системы, большая проблема в том, что я использую меню 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()
}

}

1 Ответ

0 голосов
/ 24 декабря 2018
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...