0

Пробовал этот учебник https://www.youtube.com/watch?v=id46JCY76f0. Последовавший за это слово в слово, но достигли 16:00 в видео, и этот конкретный код бросает мне несовместимый ошибки Типа:FragmentPagerAdapter - Несовместимые типы

import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentPagerAdapter; 
import android.support.v4.app.FragmentManager; 


public class MyAdapter extends FragmentPagerAdapter { 

final int pageCount=3; 
Bundle info; 

public MyAdapter(FragmentManager fm) { 
    super(fm); 
} 


@Override 
public Fragment getItem(int pos) { 
    info= new Bundle(); 


    switch (pos){ 
     case 0; 
      Asia asia = new Asia(); 
      info.putInt("currentPager", pos++); 
      asia.setArguments(info); 
      return asia; 

     case 1; 
      Africa africa = new Africa(); 
      info.putInt("currentPager", pos++); 
      africa.setArguments(info); 
      return africa; 
     case 2; 
      Europe eu = new Europe(); 
      info.putInt("currentPager", pos++); 
      eu.setArguments(info); 
      return eu; 
    } 

    return null; 
} 

@Override 
public int getCount() { 
    return 0; 
} 

}

Ошибка:

Обязательного android.support .v4.app.Fragment Найдено com.example.petakirikiri.swipetabs.Asia

import android.app.ListFragment; 
import android.os.Bundle; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 


public class Asia extends ListFragment{ 

String[] countries = {"India", "Pakistan", "Malaysia", "Bangladesh", "Singapore"}; 
ArrayAdapter<String> adapter; 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

    adapter =new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_multiple_choice, countries); 
    setListAdapter(adapter); 

    return super.onCreateView(inflater, container, savedInstanceState); 
} 

@Override 
public void onStart() { 
    super.onStart(); 
    getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); 
} 

}

ответ

0

Вы расширяете Азию с помощью фрагмента? Кроме того, фрагмент в этом случае должны совпадать - т.е. есть два типа:

android.support.v4.app.Fragment 

и

android.app.Fragment; 

Если они не совпадают, вы получите ошибку несоответствия типов.

+0

Большое вам спасибо за быстрый ответ, я только что обновил код, это то, что вы упомянули? Я считаю, что класс Asia расширяет ListFragment, он, похоже, работает для парня в учебном видео, не уверен, почему он не работает для меня, поскольку я чувствую, что написал всю строку для линии. Возможно, из-за моего импорта? –

+0

Благодарим вас, вы очень помогли мне, и теперь он работает. Большое вам спасибо за ваше время. –

+0

ListFragment также имеет два варианта, но вы можете указать, какой из них вы используете с вашими операциями импорта. Рад, что смог помочь :) – Mark

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