Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.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 如何修复未解析的引用:DialogFragment中的packageManager_Android_Kotlin - Fatal编程技术网

Android 如何修复未解析的引用:DialogFragment中的packageManager

Android 如何修复未解析的引用:DialogFragment中的packageManager,android,kotlin,Android,Kotlin,我正试图从DialogFragment打电话,但(packageManager)不接受 怎么解决 class ItemDetkFragment : DialogFragment() { override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { // Inflate the layout for thi

我正试图从DialogFragment打电话,但(packageManager)不接受 怎么解决

class ItemDetkFragment : DialogFragment() {

override fun onCreateView(
    inflater: LayoutInflater, container: ViewGroup?,
    savedInstanceState: Bundle?
): View? {
    // Inflate the layout for this fragment
    val v: View= inflater.inflate(R.layout.fragment_item_detk, container, false)

    v.car_typee.text= car_item.type
    v.item_typee.text= car_item.item_type
    v.modele.text= car_item.modele
    v.pricee.text= car_item.price+ " JD"

    if (car_item.number> 0) {
        v.numberr.text= "available"
        v.numberr.setTextColor(Color.GREEN)

    } else {
        v.numberr.text= "Not available"
        v.numberr.setTextColor(Color.RED)

    }

    Picasso.with(activity).load(car_item.picUrl).into(v.photo)

    v.contactPhone.setOnClickListener {

        val phoneNum = "855394839583"// the number for testing
        val i = Intent(Intent.ACTION_DIAL)
        i.data = Uri.parse("tel:$phoneNum")

        if (i.resolveActivity(packageManager) != null) { //the 
       problem is here in (((((packageManager)))))it is in red!!!
            startActivity(i)
        }

    }

    return v
}


}

正如您从图片中看到的(packageManager)是红色的,如何修复它

试试这个:

PackageManager packageManager = getActivity().getPackageManager();
if (i.resolveActivity(packageManager) != null) {
    startActivity(i)
}
试试这个:

PackageManager packageManager = getActivity().getPackageManager();
if (i.resolveActivity(packageManager) != null) {
    startActivity(i)
}

在代码中,
packageManager
未定义为变量,请将其更改为
getPackageManager()

所以它变成了

if (i.resolveActivity(getPackageManager()) != null) { 
        startActivity(i)
}

在代码中,
packageManager
未定义为变量,请将其更改为
getPackageManager()

所以它变成了

if (i.resolveActivity(getPackageManager()) != null) { 
        startActivity(i)
}

我注意到Android Studio似乎只有在使用
Fragment
s时才有这个问题。考虑改用
主页
。尽管如此,我还是希望这能有所帮助。

我注意到Android Studio似乎只有在使用
Fragment
s时才会出现这个问题。考虑改用
主页
。尽管如此,我希望这能有所帮助