class
SearchActivity : AppCompatActivity() {
private
lateinit var adapter: Rc_Adapter
private
lateinit var location_name: String
private
lateinit var rp1: String
private
lateinit var rp2: String
private
lateinit var rp3: String
private
lateinit var am: AssetManager
private
var bufrd: BufferedReader? =
null
private
lateinit var inst: InputStream
private
lateinit var tx: String
private
lateinit var text: String
private
lateinit var arraystr: ArrayList<VO>
private
lateinit var arraystr2: ArrayList<String>
override fun onCreate(savedInstanceState: Bundle?) {
super
.onCreate(savedInstanceState)
setContentView(R.layout.activity_search)
am = resources.assets
search_btn.setOnClickListener(object : View.OnClickListener {
override fun onClick(v: View?) {
for
(i in
1
..
2
) {
when (i) {
1
-> {
rp1 =
"구약"
for
(o in
1
..
39
) {
when (o) {
1
-> {
rp2 =
"1. 창세기"
for
(p in
1
..
50
) {
when (p) {
p -> {
rp3 =
"genesis$p"
memem(
"창세기"
, p)
}
}
}
}
.............중략
fun memem (book: String, chapter: Int) {
location_name =
"$rp1/$rp2/$rp3.txt"
try
{
inst = am.open(location_name)
bufrd = BufferedReader(InputStreamReader(inst))
for
(i in
1
..
200
) {
when(i) {
i -> {
if
((bufrd!!.readLine().also { tx = it }) !=
null
) {
text = tx.toString()
arraystr2.add(text)
if
(arraystr2.contains(editT1.text.toString()) ==
true
) {
addItem(
"[${book}: ${chapter}장${i}절]"
, text)
}
arraystr2.clear()
}
}
}
}
}
catch
(e: Exception) {
e.printStackTrace()
}
try
{
bufrd?.close()
inst.close()
}
catch
(e: Exception) {
e.printStackTrace()
}
adapter = Rc_Adapter(arraystr) <-★★바로 여기가
833
번줄 에러가 나는 곳입니다.
rv_search.setAdapter(adapter)
adapter.notifyDataSetChanged()
}
class
Rc_Adapter (var mem: ArrayList<VO>) : RecyclerView.Adapter<Rc_Adapter.ViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val v: View = LayoutInflater.from(parent.context).inflate(R.layout.activity_search_item, parent,
false
)
return
ViewHolder(v)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val memi = mem[position]
holder.itemView.search_item1.setText(memi.getTitle())
holder.itemView.search_item2.setText(memi.getDesc())
}
override fun getItemCount(): Int {
return
mem.size
}
inner
class
ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
}
}
fun addItem (bcv: String, contents: String) {
val dataC = VO()
dataC.setTitle(bcv)
dataC.setDesc(contents)
arraystr.add(dataC)
}
}
class
VO {
private
var title: String? =
null
private
var desc: String? =
null
fun getTitle(): String? {
return
title
}
fun setTitle(title: String?) {
this
.title = title
}
fun getDesc(): String? {
return
desc
}
fun setDesc(desc: String?) {
this
.desc = desc
}
}