TextView Null膨胀父布局后

TextView Null膨胀父布局后。 我正在运行一个循环,这膨胀了一些这些布局:

for(i in ticketAr?.indices!!){ var inf1:LayoutInflater = LayoutInflater.from(context) var infv:View = inf1.inflate(R.layout.ticket_individual,null,false) infv.setId(parseInt(ticketAr[i].string("ntb_id"))) var thetitle = infv.tck_event_title thetitle.setText(ticketAr[i].string("age_group_desc")) } 

堆栈跟踪

 10-25 09:30:35.839 11549-11549/com.example.xx.listview E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.xx.listview, PID: 11549 java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference at com.example.xx.listview.Ordering_Setup$getData$1.invoke(Ordering_Setup.kt:145) at com.example.xx.listview.Ordering_Setup$getData$1.invoke(Ordering_Setup.kt:29) at com.github.kittinunf.fuel.core.DeserializableKt$response$1.invoke(Deserializable.kt:37) at com.github.kittinunf.fuel.core.DeserializableKt$response$1.invoke(Deserializable.kt) at com.github.kittinunf.fuel.core.DeserializableKt$response$5$1.invoke(Deserializable.kt:62) at com.github.kittinunf.fuel.core.DeserializableKt$response$5$1.invoke(Deserializable.kt) at com.github.kittinunf.fuel.core.Request$callback$1.run(Request.kt:225) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756) 

你没有在代码中的任何地方使用findViewById() 。 而不是做:

  var thetitle = infv.tck_event_title 

尝试这个:

  var thetitle = infv.findViewById(R.id.tck_event_title) as TextView 

或者您尝试使用的TextView的等效ID。

此外,你正在每个循环创建一个新的LayoutInflater 。 这行代码:

 var inf1:LayoutInflater = LayoutInflater.from(context) 

应该真的在循环之外(甚至可以是val而不是var )。

编辑:如果你想使用Kotlin Android扩展,我建议你检查这个答案 。 你可能忘了导入一些东西。

不是真的,回答其他原始代码的工作。

发生了什么事情是,Android Studio将我的自定义布局名称还原为通用的Textview7 / 8等等.GUI显示了我的自定义名称,但是幕后的XML显示了通用名称。 报告说它是开发者的一个错误