Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在Kotlin中禁用选项卡?_Android_Kotlin - Fatal编程技术网

Android 如何在Kotlin中禁用选项卡?

Android 如何在Kotlin中禁用选项卡?,android,kotlin,Android,Kotlin,在这里,当我调用tabLayout!!时,出现了一个空指针异常!!。getChildAt(1).setEnabled(false)。如何禁用Kotlin中的特定选项卡。提前谢谢 logcat 从 表格布置!!。getChildAt(1).setEnabled(false) 到 表格布置!!。getChildAt(1).isEnabled=false 和活动未在清单中注册。注册它。由于您使用的是自定义视图,您可以通过使用触摸事件禁用选项卡: 12-03 10:03:27.536 7899-7899

在这里,当我调用tabLayout!!时,出现了一个空指针异常!!。getChildAt(1).setEnabled(false)。如何禁用Kotlin中的特定选项卡。提前谢谢

logcat

表格布置!!。getChildAt(1).setEnabled(false)

表格布置!!。getChildAt(1).isEnabled=false


和活动未在清单中注册。注册它。

由于您使用的是自定义视图,您可以通过使用触摸事件禁用选项卡:

12-03 10:03:27.536 7899-7899/com.salesrep.auxxa.alliontechnologies.auxxasr E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.salesrep.auxxa.alliontechnologies.auxxasr, PID: 7899
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.salesrep.auxxa.alliontechnologies.auxxasr/com.salesrep.auxxa.alliontechnologies.auxxasr.NewPaymentActivity}: kotlin.KotlinNullPointerException
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
    at android.app.ActivityThread.access$800(ActivityThread.java:144)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5221)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
 Caused by: kotlin.KotlinNullPointerException
    at com.salesrep.auxxa.alliontechnologies.auxxasr.NewPaymentActivity.onCreate(NewPaymentActivity.kt:84)
    at android.app.Activity.performCreate(Activity.java:5937)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
使用以下命令:

val view = tabLayout.getTabAt(1)!!.customView.parent as View;
view.setOnTouchListener { v, event -> true }
tabLayout!!。getChildAt(0)as ViewGroup
是包含子视图的
视图组。

声明活动

(tabLayout!!.getChildAt(0) as ViewGroup).getChildAt(1).setEnabled(false)
启用选项卡

touchableList = tabLayout?.touchables
touchableList?.forEach { it.isEnabled = false }

你能发布logcatHi Manoj吗?我添加了logcat。在manifestregistered中注册活动已注册可能重复的问题请查看此链接嗨,我无法支持TableLayout。getTabAt(1)@Rajithapera我很抱歉,误读了你的问题。我认为您可以通过在触摸屏上返回true来禁用选项卡,或者您也可以在父视图上尝试
isEnabled=false
。一个问题?如何在需要时启用此选项卡?请尝试
view.setOnTouchListener(null)
view.setOnTouchListener{v,event->false}
重新启用它。谢谢您为我节省了时间
var touchableList: ArrayList<View>? = ArrayList()
touchableList = tabLayout?.touchables
touchableList?.forEach { it.isEnabled = false }
touchableList?.get(0)?.isEnabled = true