Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.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 为什么我得到一个错误,没有为MediaController找到合适的构造函数(类名)?_Android - Fatal编程技术网

Android 为什么我得到一个错误,没有为MediaController找到合适的构造函数(类名)?

Android 为什么我得到一个错误,没有为MediaController找到合适的构造函数(类名)?,android,Android,大家好,我是Android新手,我正在为VideoView添加控制器。为什么我会出现以下错误。 Error:(51, 41) error: no suitable constructor found for MediaController(ClassNAme ) constructor MediaController.MediaController(Context) is not applicable (actual argument ClassNAme cannot be converted

大家好,我是Android新手,我正在为VideoView添加控制器。为什么我会出现以下错误。

Error:(51, 41) error: no suitable constructor found for MediaController(ClassNAme )
constructor MediaController.MediaController(Context) is not applicable
(actual argument ClassNAme cannot be converted to Context by method invocation conversion)
constructor MediaController.MediaController(Context,boolean) is not applicable
(actual and formal argument lists differ in length)
constructor MediaController.MediaController(Context,AttributeSet) is not applicable
(actual and formal argument lists differ in length)
****请找到下面的代码,我的类名如下****

  public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_picturedetail, container, false);

        Bundle b = getArguments();
        Drawable d;
        am = getActivity().getAssets();
        PictDictDetails pd = (PictDictDetails) b.getSerializable("pictobj");
        ImageView iv = (ImageView)v.findViewById(R.id.iv_picture);
        VideoView vi = (VideoView)v.findViewById(R.id.iv_video);
        TextView tv = (TextView)v.findViewById(R.id.tv_picture_name);
        String path = pd.getPath();

       MediaController mediaController1 = new MediaController(this);
       mediaController1.setAnchorView(vi);
       vi.setMediaController(mediaController1);
       String uri = path;
       vi.setVideoURI(Uri.parse(uri));

        vi.start();
请找到完整的代码

公共类类名扩展了片段{

AssetManager am;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
}

@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.fragment_picturedetail, container, false);

    Bundle b = getArguments();
    Drawable d;
    am = getActivity().getAssets();
    PictDictDetails pd = (PictDictDetails) b.getSerializable("pictobj");
    ImageView iv = (ImageView)v.findViewById(R.id.iv_picture);
    VideoView vi = (VideoView)v.findViewById(R.id.iv_video);
    TextView tv = (TextView)v.findViewById(R.id.tv_picture_name);
    String path = pd.getPath();
    String name = pd.getName();
    String uri = path;
    vi.setVideoURI(Uri.parse(uri));

    vi.start();
  MediaController mediaController1 = new MediaController(this);
  mediaController1.setAnchorView(vi);
  vi.setMediaController(mediaController1);


    try
    {  
        InputStream ims = am.open(path);
        d = Drawable.createFromStream(ims, null);
        iv.setImageDrawable(d);
    }
    catch(IOException e)
    {
        e.printStackTrace();
    }
    tv.setText(name);
    return v;
}

@Override
public void onDestroyView() {
    super.onDestroyView();
}
}

在代码的某个地方(java文件之一),您已经创建了一个名为“ClassNAme”的自定义类,我认为您已经尝试使用mediaController构造函数来创建实例


您应该为此类声明自己的自定义构造函数,除非它是媒体控制器(在这种情况下,请使用extends确保它是媒体控制器的子类)

请发布您的相关代码MyDiaController(ClassNAme),查找您使用此代码的位置。它应该是MediaController(this)或MediaController(YourActivity.this)或MediaController(getApplicationContext())错误消息似乎很清楚..嗨,老板,请查找代码。嗨,是的,IO,我首先尝试了,但它不起作用。ClassName扩展了CodeCould中的片段,以后可以尝试实现MediaController吗?这完全是我的想法,因为我不在任何地方可以测试它。你真的可以在声明类名类的地方添加代码部分吗?并且你已经尝试将该类声明为
public class ClassNAme extends/MediaController