fix #80, prevent crashes at rotating with some dialog open

This commit is contained in:
tibbi 2017-04-18 23:22:41 +02:00
parent d6b4fbd9e8
commit a6dc7aebef
2 changed files with 14 additions and 2 deletions

View File

@ -59,7 +59,7 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
val itemIndex = getNoteIndexWithId(wantedNoteId)
mAdapter = NotesPagerAdapter(supportFragmentManager, mNotes)
mAdapter = NotesPagerAdapter(supportFragmentManager, mNotes, applicationContext)
view_pager.apply {
adapter = mAdapter
currentItem = itemIndex

View File

@ -1,15 +1,19 @@
package com.simplemobiletools.notes.adapters
import android.content.Context
import android.os.Bundle
import android.support.v4.app.Fragment
import android.support.v4.app.FragmentManager
import android.support.v4.app.FragmentStatePagerAdapter
import android.util.SparseArray
import android.view.ViewGroup
import com.simplemobiletools.commons.extensions.toast
import com.simplemobiletools.notes.R
import com.simplemobiletools.notes.fragments.NoteFragment
import com.simplemobiletools.notes.helpers.NOTE_ID
import com.simplemobiletools.notes.models.Note
class NotesPagerAdapter(fm: FragmentManager, private val notes: List<Note>) : FragmentStatePagerAdapter(fm) {
class NotesPagerAdapter(fm: FragmentManager, val notes: List<Note>, val context: Context) : FragmentStatePagerAdapter(fm) {
var fragments: SparseArray<NoteFragment> = SparseArray(5)
override fun getCount() = notes.size
@ -35,4 +39,12 @@ class NotesPagerAdapter(fm: FragmentManager, private val notes: List<Note>) : Fr
fun saveCurrentNote(position: Int) = fragments[position]?.saveText()
fun showKeyboard(position: Int) = fragments[position]?.showKeyboard()
override fun finishUpdate(container: ViewGroup?) {
try {
super.finishUpdate(container)
} catch (e: Exception) {
context.toast(R.string.unknown_error_occurred)
}
}
}