2015-08-21 2 views
-1

Привет, Все, что я новичок в Android, добавляю контроллер в VideoView. Почему я становлюсь ниже Ошибка.Почему я получаю сообщение об ошибке Не найдено подходящего конструктора для MediaController (ClassNAme)?

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) 

**** Пожалуйста Найдите ниже код ниже меня ClassName, как показано ниже ****

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(); 
} 

+1

Пожалуйста, разместите соответствующие коды – Emil

+0

MediaController (ClassNAme), найдите здесь, где вы используете этот код. Это должен быть MediaController (this) или MediaController (YourActivity.this) или MediaController (getApplicationContext()) –

+0

Сообщение об ошибке кажется ясным .. –

ответ

1

Где-то в вашем коде (один из java-файлов) вы создали пользовательский класс с именем ClassNAme, и я думаю, что вы попытались создать конструктор mediaController для создания вашего экземпляра.

Вы должны объявить свой собственный конструктор для этого класса, если он не является медиа-контроллером (в этом случае убедитесь, что это подкласс MediaController с использованием расширений).

+0

ClassName расширяет фрагмент в коде – user1768942

+0

Может ли попробовать реализовать MediaController впоследствии? Это все с головы до ног, так как я нигде не могу это проверить. –

+0

Да, я пробовал затем – user1768942

Смежные вопросы