51 lines
1.7 KiB
Kotlin
51 lines
1.7 KiB
Kotlin
package com.zjgsu.jianshu.Fragment
|
|
|
|
import android.graphics.Typeface
|
|
import android.os.Bundle
|
|
import android.view.LayoutInflater
|
|
import android.view.View
|
|
import android.view.ViewGroup
|
|
import android.widget.TextView
|
|
import androidx.fragment.app.Fragment
|
|
import com.zjgsu.jianshu.R
|
|
|
|
class BookPageFragment : Fragment() {
|
|
private var bookContent: String? = null
|
|
private var pageIndex: Int = 0
|
|
|
|
companion object {
|
|
private const val ARG_BOOK_CONTENT = "book_content"
|
|
private const val ARG_PAGE_INDEX = "page_index"
|
|
|
|
fun newInstance(bookContent: String, pageIndex: Int): BookPageFragment {
|
|
return BookPageFragment().apply {
|
|
arguments = Bundle().apply {
|
|
putString(ARG_BOOK_CONTENT, bookContent)
|
|
putInt(ARG_PAGE_INDEX, pageIndex)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
super.onCreate(savedInstanceState)
|
|
arguments?.let {
|
|
bookContent = it.getString(ARG_BOOK_CONTENT)
|
|
pageIndex = it.getInt(ARG_PAGE_INDEX)
|
|
}
|
|
}
|
|
|
|
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
|
|
val view = inflater.inflate(R.layout.fragment_content, container, false)
|
|
val textViewContent: TextView = view.findViewById(R.id.textViewContent)
|
|
|
|
// 计算当前页的内容
|
|
val startIndex = pageIndex * (10 * 100)
|
|
val endIndex = minOf((pageIndex + 1) * (10 * 100), bookContent?.length ?: 0)
|
|
val currentPageContent = bookContent?.substring(startIndex, endIndex) ?: ""
|
|
textViewContent.text = currentPageContent
|
|
|
|
return view
|
|
}
|
|
}
|