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) val itemIndex = getNoteIndexWithId(wantedNoteId)
mAdapter = NotesPagerAdapter(supportFragmentManager, mNotes) mAdapter = NotesPagerAdapter(supportFragmentManager, mNotes, applicationContext)
view_pager.apply { view_pager.apply {
adapter = mAdapter adapter = mAdapter
currentItem = itemIndex currentItem = itemIndex

View File

@ -1,15 +1,19 @@
package com.simplemobiletools.notes.adapters package com.simplemobiletools.notes.adapters
import android.content.Context
import android.os.Bundle import android.os.Bundle
import android.support.v4.app.Fragment import android.support.v4.app.Fragment
import android.support.v4.app.FragmentManager import android.support.v4.app.FragmentManager
import android.support.v4.app.FragmentStatePagerAdapter import android.support.v4.app.FragmentStatePagerAdapter
import android.util.SparseArray 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.fragments.NoteFragment
import com.simplemobiletools.notes.helpers.NOTE_ID import com.simplemobiletools.notes.helpers.NOTE_ID
import com.simplemobiletools.notes.models.Note 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) var fragments: SparseArray<NoteFragment> = SparseArray(5)
override fun getCount() = notes.size 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 saveCurrentNote(position: Int) = fragments[position]?.saveText()
fun showKeyboard(position: Int) = fragments[position]?.showKeyboard() 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)
}
}
} }