当前位置:  开发笔记 > 编程语言 > 正文

Kotlin在android.support.v4.app.Fragment null对象引用中直接访问Button

如何解决《Kotlin在android.support.v4.app.Fragmentnull对象引用中直接访问Button》经验,为你挑选了1个好方法。

我试图直接访问片段中的按钮(android.support.v4),这就是它抛出的内容:

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.View.findViewById(int)' on a null object reference
at             
com.....fragments.HomeFragment._$_findCachedViewById(HomeFragment.kt)
at 
com.....fragments.HomeFragment.onCreateView(HomeFragment.kt:25)

这是我试图在fragment_home.xml中访问的按钮:

这是HomeFragment.kt中的Kotlin代码

import android.content.Context
import android.net.Uri
import android.os.Bundle
import android.support.v4.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Toast

import kotlinx.android.synthetic.main.fragment_home.*

class HomeFragment : Fragment() {

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

override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?,
                          savedInstanceState: Bundle?): View? {
    val rootView = inflater!!.inflate(R.layout.fragment_home, container, false)

    batteryInstallationButton?.setOnClickListener {
        Toast.makeText(context, "ehere", Toast.LENGTH_SHORT).show();
    }

    return rootView
}

companion object {

    fun newInstance(): HomeFragment {
        val fragment = HomeFragment()
        return fragment
    }
}

}

任何人都知道为什么我无法直接访问Button?



1> Juan Saravia..:

这里有两个选择:

    batteryInstallationButtononActivityCreated视图已经膨胀的位置进行访问,它将找到按钮.

    使用:

import kotlinx.android.synthetic.main.fragment_home.view.*

看到.view我添加到合成中并直接从已经膨胀的视图中使用它:

val rootView = inflater!!.inflate(R.layout.fragment_home, container, false)

rootView.batteryInstallationButton?.setOnClickListener.....

如果这可以解决您的问题,请与我们联系.问候!

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有