无法解析方法'show(android.support.v4.app.FragmentManager,null)'

时间:2017-03-25 21:11:41

标签: android android-fragments

 public void show(View view) {
    FragmentManager manager = getSupportFragmentManager();
    pop_up dl = new pop_up();
    dl.show(manager, null);
}

已显示一条消息:无法解析方法'show(android.support.v4.app.FragmentManager,null)' 我不知道故障在哪里, 那些是我的进口商品:

import android.support.v4.app.FragmentManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

我已经尝试过我在网站上找到的解决方案,但它们没有用。

1 个答案:

答案 0 :(得分:3)

该错误意味着它无法在pop_up类中找到方法show(),或者您提供给它的参数与方法定义不匹配。

如果pop_up类中有show()方法,请检查它的参数,并确保它们匹配。 show()方法是使用support.v4.app.FragmentManager,还是仅使用普通的FragmentManager?

例如

public class pop_up {

    public void show(FragmentManager manager, ...){
        // Code
    }
}

如果FragmentManager参数使用的是support.v4.app.FragmentManager,并且在调用show()方法时没有专门提供support.v4.app.FragmentManager作为参数,则会抛出该错误,因为它找不到具有匹配参数的show()方法。

由于您在调用show()方法时似乎使用了SupportFragmentManager,这可能意味着pop_up类中show()方法定义中定义的参数为 而不是 使用SupportFragmentManager。

尝试将FragmentManager manager = getSupportFragmentManager();更改为FragmentManager manager = getFragmentManager();