如何基于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 中获取微调器单击的项目?

底部导航栏的 onItemSelectedListener

onItemSelectedListener 没有被触发

是否调用了 OnItemSelectedListener.onNothingSelected?

从 OnItemSelectedListener 调用值

试图在android中创建一个spinner.OnItemSelectedListener事件[重复]