RecyclerView now loads the text

It's actually surprisingly speedy, I'm impressed. This may just actually work, only thing left to do is implement the infinite scroll, and I'll have something worth testing...
So much easier than maintaining the JS build...
parser-fixes
Bradlee Speice 2014-11-25 22:49:30 -05:00
parent d6c5662fa5
commit 4e7393653b
2 changed files with 14 additions and 3 deletions

View File

@ -8,6 +8,7 @@ import android.view.View
import android.view.LayoutInflater import android.view.LayoutInflater
import org.bspeice.minimalbible.R import org.bspeice.minimalbible.R
import android.widget.TextView import android.widget.TextView
import org.bspeice.minimalbible.service.format.osisparser.OsisParser
/** /**
* Adapter used for displaying a book * Adapter used for displaying a book
@ -25,7 +26,7 @@ class BookAdapter(val b: Book) : RecyclerView.Adapter<PassageView>() {
.inflate(R.layout.viewer_passage_view, parent, false) .inflate(R.layout.viewer_passage_view, parent, false)
val passage = PassageView(emptyView) val passage = PassageView(emptyView)
passage.v setText "1" // passage.v setText o.getVerse(b, position).content
return passage return passage
} }
@ -33,7 +34,8 @@ class BookAdapter(val b: Book) : RecyclerView.Adapter<PassageView>() {
* Bind an existing view * Bind an existing view
*/ */
override fun onBindViewHolder(view: PassageView, position: Int) { override fun onBindViewHolder(view: PassageView, position: Int) {
view.v setText "${Integer.parseInt(view.v.getText() as String) + 1}" val o = OsisParser()
view.v setText o.getVerse(b, position).content
} }
/** /**

View File

@ -8,6 +8,8 @@ import org.crosswire.jsword.book.OSISUtil
import org.bspeice.minimalbible.SafeValDelegate import org.bspeice.minimalbible.SafeValDelegate
import org.crosswire.jsword.book.BookData import org.crosswire.jsword.book.BookData
import org.crosswire.jsword.book.Book import org.crosswire.jsword.book.Book
import org.crosswire.jsword.book.getVersification
import kotlin.properties.Delegates
/** /**
* Created by bspeice on 9/10/14. * Created by bspeice on 9/10/14.
@ -17,7 +19,7 @@ class OsisParser() : DefaultHandler() {
// Don't pass a verse as part of the constructor, but still guarantee // Don't pass a verse as part of the constructor, but still guarantee
// that it will exist // that it will exist
var verseContent: VerseContent by SafeValDelegate() var verseContent: VerseContent by Delegates.notNull()
// TODO: Implement a stack to keep min API 8 // TODO: Implement a stack to keep min API 8
val doWrite = ArrayDeque<Boolean>() val doWrite = ArrayDeque<Boolean>()
@ -29,6 +31,13 @@ class OsisParser() : DefaultHandler() {
return verseContent.json return verseContent.json
} }
fun getVerse(b: Book, v: Int): VerseContent {
val verse = b.getVersification().decodeOrdinal(v)
verseContent = VerseContent(verse)
BookData(b, verse).getSAXEventProvider() provideSAXEvents this
return verseContent
}
override fun startElement(uri: String, localName: String, override fun startElement(uri: String, localName: String,
qName: String, attributes: Attributes) { qName: String, attributes: Attributes) {
when (localName) { when (localName) {