ตัวแอพติดปัญหาในการแยกข้อความด้วย , ครับ
โค้ด
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้package com.example.testlistview
import android.content.Intent
import android.os.Bundle
import android.view.View
import android.widget.*
import android.widget.AdapterView.OnItemClickListener
import androidx.appcompat.app.AppCompatActivity
import java.io.BufferedReader
import java.io.InputStreamReader
const val EXTRA_MESSAGE = "com.example.testlistview.MESSAGE"
class Word
{
var WordEng:String? =null
var _Void:String? =null
var WordTh:String? =null
}
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val input = InputStreamReader(assets.open("word.csv"))
val reader = BufferedReader(input)
var line : String?
var displayData : String = ""
val words:ArrayList<String> = ArrayList()
val wordAll:ArrayList<Word> = ArrayList()
while (reader.readLine().also { line = it } != null){
val row : List<String> = line!!.split(",")
words.add( row[0].toString())
val w :Word = Word()
w.WordEng = row[0].toString()
w._Void = row[1].toString()
w.WordTh = row[2].toString()
wordAll.add(w)
}
val ad = ArrayAdapter<String>this,
android.R.layout.simple_list_item_1, words )
val listView1: ListView = findViewById(R.id.view1)
val atcText: AutoCompleteTextView = findViewById(R.id.autoCompleteTextView1)
listView1.adapter = ad
atcText.setAdapter(ad)
listView1.onItemClickListener = object nItemClickListener{
override fun onItemClick(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
// value of item that is clicked
val itemValue = listView1.getItemAtPosition(position) as String
val filtered = wordAll!!.filter { it.WordEng==itemValue }
val text = filtered[0].WordEng + "," + filtered[0]._Void +"," + filtered[0].WordTh
val intent = Intent(this@MainActivity,Detail::class.java)
intent.putExtra(EXTRA_MESSAGE, text)
startActivity(intent)
// Toast the values
/* Toast.makeText(applicationContext,
"Position :$position\nItem Value : $itemValue", Toast.LENGTH_LONG)
.show()*/
}
}
}
}
จากโค้ดข้างบน
ผมได้ดึงข้อมูลแต่ละแถวมาจากไฟล์ word.csv
แล้ว split มัน ครับ
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้ val row : List<String> = line!!.split(",")
ข้อมูลใน word.csv
ข้อมูลที่เปิดผ่าน android studio
ปัญหาคือ พอผมใช้การ split(",") มันก็จะมอง absent,แอ๊บเซ่นท,"ขาด,ไม่อยู่" เป็นข้อมูล 4 ชุด
แทนที่จะมองเป็น 3 ชุด ครับ
แล้วก็ส่งผลออกมาแบบนี้
ผมต้องไปแก้โค้ด หรือไฟล์ หรือ โปรแกรม android studio ยังไง ให้มองเห็นข้อมูลเป็น 3 ชุด ครับ
android studio Kotlin ช่วยดูให้หน่อยครับว่า จะแก้ตรงไหนได้บ้างครับ
โค้ด
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
จากโค้ดข้างบน
ผมได้ดึงข้อมูลแต่ละแถวมาจากไฟล์ word.csv
แล้ว split มัน ครับ
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
ข้อมูลใน word.csv
ข้อมูลที่เปิดผ่าน android studio
ปัญหาคือ พอผมใช้การ split(",") มันก็จะมอง absent,แอ๊บเซ่นท,"ขาด,ไม่อยู่" เป็นข้อมูล 4 ชุด
แทนที่จะมองเป็น 3 ชุด ครับ
แล้วก็ส่งผลออกมาแบบนี้
ผมต้องไปแก้โค้ด หรือไฟล์ หรือ โปรแกรม android studio ยังไง ให้มองเห็นข้อมูลเป็น 3 ชุด ครับ