Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.myapplication
- import android.content.Context
- import android.content.SharedPreferences
- import android.support.v7.app.AppCompatActivity
- import android.os.Bundle
- import android.support.v7.app.AlertDialog
- import android.view.Menu
- import android.view.MenuInflater
- import android.view.MenuItem
- import kotlinx.android.synthetic.main.activity_main.*
- class MainActivity : AppCompatActivity() {
- private lateinit var sharedPreferences: SharedPreferences
- private var language: String = ""
- override fun onCreateOptionsMenu(menu: Menu?): Boolean {
- val menuInflater: MenuInflater = getMenuInflater()
- menuInflater.inflate(R.menu.main_menu, menu)
- return super.onCreateOptionsMenu(menu)
- }
- private fun initializeLanguage(language: String) {
- sharedPreferences.edit().putString("favLanguage", language).apply()
- message.text = getString(R.string.message, language)
- }
- private fun modifyLanguage(language: String) {
- AlertDialog.Builder(this)
- .setIcon(android.R.drawable.ic_dialog_alert)
- .setTitle("Are you sure?")
- .setMessage("Do you want $language to be your favorite language?")
- .setPositiveButton(
- "Yes"
- ) { _, _ ->
- initializeLanguage(language)
- }
- .setNegativeButton("No", null)
- .show()
- }
- override fun onOptionsItemSelected(item: MenuItem?): Boolean {
- super.onOptionsItemSelected(item)
- when (item?.itemId) {
- R.id.english -> {
- language = "English"
- modifyLanguage(language)
- return true
- }
- R.id.romanian -> {
- language = "Romanian"
- modifyLanguage(language)
- return true
- }
- R.id.french -> {
- language = "French"
- modifyLanguage(language)
- return true
- }
- else -> {
- return false
- }
- }
- }
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_main)
- sharedPreferences = this.getSharedPreferences("com.example.sharedpreferences", Context.MODE_PRIVATE)
- language = sharedPreferences.getString("favLanguage", "")!!
- if (language == "")
- AlertDialog.Builder(this)
- .setIcon(android.R.drawable.ic_dialog_alert)
- .setTitle("Select an option!")
- .setMessage("What language do you prefer to use?")
- .setPositiveButton(
- "English"
- ) { _, _ ->
- initializeLanguage("English")
- }
- .setNegativeButton(
- "Romanian"
- ) { _, _ ->
- initializeLanguage("Romanian")
- }
- .setNeutralButton(
- "French"
- ) { _, _ ->
- initializeLanguage("French")
- }
- .show()
- else message.text = getString(R.string.message, language)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement