Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.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 findViewById()返回从数据绑定创建的空视图_Android_Kotlin - Fatal编程技术网

Android findViewById()返回从数据绑定创建的空视图

Android findViewById()返回从数据绑定创建的空视图,android,kotlin,Android,Kotlin,出于某种原因,当我使用findFragmentById()引用使用数据绑定创建的SeekBar视图时,它返回空对象。请问我怎样才能得到这个视图的参考 这是我的seekBar: <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com

出于某种原因,当我使用findFragmentById()引用使用数据绑定创建的SeekBar视图时,它返回空对象。请问我怎样才能得到这个视图的参考

这是我的seekBar:

<?xml version="1.0" encoding="utf-8"?>
<layout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
    <SeekBar
        android:id="@+id/seekBar"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </SeekBar>
</layout>
UtilClass在此处实例化:

class MainActivity : AppCompatActivity() {

private lateinit var mUtilClass: UtilClass
....
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    mUtilClass = UtilClass(requireActivity())
    retainInstance = true

    var fm = fragmentManager
    var fragment: Fragment? = fm!!.findFragmentById(R.id.seek_container)

    if (fragment == null) {

        fragment = SeekBarFragment.newInstance()

        fm.beginTransaction()
            .add(R.id.seek_container, fragment)
            .commit()
            }
}
class SeekBarFragment: Fragment() {

companion object {
    fun newInstance(): SeekBarFragment {
        return SeekBarFragment()
    }
}

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    super.onCreate(savedInstanceState)
}

override fun onCreateView(
    inflater: LayoutInflater,
    container: ViewGroup?,
    savedInstanceState: Bundle?
): View? {
    val binding: SeekbarBinding = DataBindingUtil.inflate(inflater, R.layout.seekbar, container, false)
...
}
在此处创建绑定:

class MainActivity : AppCompatActivity() {

private lateinit var mUtilClass: UtilClass
....
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    mUtilClass = UtilClass(requireActivity())
    retainInstance = true

    var fm = fragmentManager
    var fragment: Fragment? = fm!!.findFragmentById(R.id.seek_container)

    if (fragment == null) {

        fragment = SeekBarFragment.newInstance()

        fm.beginTransaction()
            .add(R.id.seek_container, fragment)
            .commit()
            }
}
class SeekBarFragment: Fragment() {

companion object {
    fun newInstance(): SeekBarFragment {
        return SeekBarFragment()
    }
}

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    super.onCreate(savedInstanceState)
}

override fun onCreateView(
    inflater: LayoutInflater,
    container: ViewGroup?,
    savedInstanceState: Bundle?
): View? {
    val binding: SeekbarBinding = DataBindingUtil.inflate(inflater, R.layout.seekbar, container, false)
...
}

您应该指定父布局视图

覆盖创建视图(
充气机,
容器:视图组?,
savedInstanceState:捆绑?
):查看{
变量v:视图=充气机。充气(R.layout.seekbar,container,false)
var seekbar=v.findViewById(R.id.seekbar)
返回v
}

您的UtilClass在哪里实例化?很抱歉,我将其添加到主要问题中,但我创建了带有数据绑定的视图:val binding:SeekbarBinding=DataBindingUtil.inflate(充气器,R.layout.seekbar,容器,false)