如何基于onItemSelectedListener在textview中显示纺织品?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何基于onItemSelectedListener在textview中显示纺织品?相关的知识,希望对你有一定的参考价值。
我正在尝试使用onItemSelectedListener将res / raw中的文本文件显示到textview中。
我可以进行这种硬编码,但是效率不高,因为我有10多个文本文件。因此,我尝试优化代码并显示基于索引的文本文件,该索引从JSON文件读取。但是,当我尝试此操作时,textview中没有任何显示,也没有引发任何错误。它只是说找不到该文件。
spSongs.onItemSelectedListener =
object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(
adapterView: AdapterView<*>,
view: View,
i: Int,
l: Long
) {
songIndex = i //remember what the user chooses
try {
var x = myJSON_array.getJSONObject(songIndex)
.getString("filename")
x = x.substring(0, x.lastIndexOf("."))
val temp = resources.getIdentifier(
x,
"raw",
packageName
)
val input_stream =
baseContext.resources.openRawResource(temp)
val text = input_stream.readBytes()
.toString(Charset.defaultCharset())
tvlyrics.text = text
} catch (e: JSONException) {
e.printStackTrace()
}
//end of try-catch for painting JSON decode
}//end of onItemSelected of Painting spinner
override fun onNothingSelected(adapterView: AdapterView<*>) {}
}// end of setOnItemSelectedListener
谢谢
答案
解决了,我在对象内部调用了错误的数组。
以上是关于如何基于onItemSelectedListener在textview中显示纺织品?的主要内容,如果未能解决你的问题,请参考以下文章
如何从该片段中的 onItemSelectedListener 中获取微调器单击的项目?