Advertisement
Guest User

Untitled

a guest
Aug 19th, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.25 KB | None | 0 0
  1. package com.example.myapplication
  2.  
  3. import android.content.Context
  4. import android.content.SharedPreferences
  5. import android.support.v7.app.AppCompatActivity
  6. import android.os.Bundle
  7. import android.support.v7.app.AlertDialog
  8. import android.view.Menu
  9. import android.view.MenuInflater
  10. import android.view.MenuItem
  11. import kotlinx.android.synthetic.main.activity_main.*
  12.  
  13. class MainActivity : AppCompatActivity() {
  14.  
  15. private lateinit var sharedPreferences: SharedPreferences
  16. private var language: String = ""
  17.  
  18. override fun onCreateOptionsMenu(menu: Menu?): Boolean {
  19. val menuInflater: MenuInflater = getMenuInflater()
  20. menuInflater.inflate(R.menu.main_menu, menu)
  21.  
  22. return super.onCreateOptionsMenu(menu)
  23. }
  24.  
  25. private fun initializeLanguage(language: String) {
  26. sharedPreferences.edit().putString("favLanguage", language).apply()
  27. message.text = getString(R.string.message, language)
  28. }
  29.  
  30. private fun modifyLanguage(language: String) {
  31. AlertDialog.Builder(this)
  32. .setIcon(android.R.drawable.ic_dialog_alert)
  33. .setTitle("Are you sure?")
  34. .setMessage("Do you want $language to be your favorite language?")
  35. .setPositiveButton(
  36. "Yes"
  37. ) { _, _ ->
  38. initializeLanguage(language)
  39. }
  40. .setNegativeButton("No", null)
  41. .show()
  42. }
  43.  
  44. override fun onOptionsItemSelected(item: MenuItem?): Boolean {
  45. super.onOptionsItemSelected(item)
  46.  
  47. when (item?.itemId) {
  48. R.id.english -> {
  49. language = "English"
  50. modifyLanguage(language)
  51. return true
  52. }
  53. R.id.romanian -> {
  54. language = "Romanian"
  55. modifyLanguage(language)
  56. return true
  57. }
  58. R.id.french -> {
  59. language = "French"
  60. modifyLanguage(language)
  61. return true
  62. }
  63. else -> {
  64. return false
  65. }
  66. }
  67. }
  68.  
  69. override fun onCreate(savedInstanceState: Bundle?) {
  70. super.onCreate(savedInstanceState)
  71. setContentView(R.layout.activity_main)
  72.  
  73. sharedPreferences = this.getSharedPreferences("com.example.sharedpreferences", Context.MODE_PRIVATE)
  74.  
  75. language = sharedPreferences.getString("favLanguage", "")!!
  76. if (language == "")
  77. AlertDialog.Builder(this)
  78. .setIcon(android.R.drawable.ic_dialog_alert)
  79. .setTitle("Select an option!")
  80. .setMessage("What language do you prefer to use?")
  81. .setPositiveButton(
  82. "English"
  83. ) { _, _ ->
  84. initializeLanguage("English")
  85. }
  86. .setNegativeButton(
  87. "Romanian"
  88. ) { _, _ ->
  89. initializeLanguage("Romanian")
  90. }
  91. .setNeutralButton(
  92. "French"
  93. ) { _, _ ->
  94. initializeLanguage("French")
  95. }
  96. .show()
  97. else message.text = getString(R.string.message, language)
  98. }
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement