2015-01-26 3 views
0

У меня есть Fragment, в котором есть viewPager, я создал FragmentPagerAdapter в другом пакете. в файле fragment .java, когда я попытался вызватьконструктор FragmentPagerAdapter не определен

adapter = new ViewPagerTabsAdapter(getFragmentManager(), fragList); 

затмений подчеркивает, что линия с красной волнистой линией и сказать

конструктор ViewPagerTabsAdapter (FragmentManager, List) не определено

я думаю, что это происходит потому, из импорта, который я использовал, но я не знаю, как его решить,

, пожалуйста, найдите код с импортом, указанным ниже:

frag3:

import com.example.fragmentcommunication_00.adapter.ViewPagerTabsAdapter; 
import android.app.ActionBar; 
import android.app.ActionBar.Tab; 
import android.app.ActionBar.TabListener; 
import android.app.Activity; 
import android.app.Fragment; 
import android.app.FragmentTransaction; 
import android.os.Bundle; 
import android.support.v4.view.ViewPager; 
import android.util.Log; 
import android.view.LayoutInflater; 
import android.view.MotionEvent; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.view.View.OnTouchListener; 
import android.view.ViewGroup; 
import android.widget.Toast; 
.... 
.... 

private void initViews(View root) { 
    // TODO Auto-generated method stub 
    vPager = (ViewPager) root.findViewById(R.id.frag3_pager);  
    actionBar = getActivity().getActionBar(); 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 
    adapter = new ViewPagerTabsAdapter(getFragmentManager(), fragList); 
} 

** ViewPagerTabsAdapter **:

import java.util.List; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentManager; 
import android.support.v4.app.FragmentPagerAdapter; 

public class ViewPagerTabsAdapter extends FragmentPagerAdapter { 

List<Fragment> mFragList; 

public ViewPagerTabsAdapter(FragmentManager fm, List<Fragment> mFragList) { 
    super(fm); 
    // TODO Auto-generated constructor stub 
    this.mFragList = mFragList; 
} 

@Override 
public Fragment getItem(int arg0) { 
    // TODO Auto-generated method stub 
    return this.mFragList.get(arg0); 
} 

@Override 
public int getCount() { 
    // TODO Auto-generated method stub 
    return this.mFragList.size(); 
} 

}

Update_2: импорт заключаются в следующем и в frag3 в fragList.add не определено и getSupportFragmentManager() также не определено. и в adapter один из способов его подпись выглядит следующим образом:

@Override 
public android.support.v4.app.Fragment getItem(int arg0) { 
    // TODO Auto-generated method stub 
    return null; 
} 

теперь мой импорт в adapter является:

import java.util.List; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentManager; 
import android.support.v4.app.FragmentPagerAdapter; 

и импорт в Frag3 является:

import java.util.ArrayList; 
import java.util.List; 
import com.example.fragmentcommunication_00.adapter.ViewPagerTabsAdapter; 
import android.app.ActionBar; 
import android.app.ActionBar.Tab; 
import android.app.ActionBar.TabListener; 
import android.app.Activity; 
import android.support.v4.app.Fragment; 
import android.app.FragmentTransaction; 
import android.os.Bundle; 
import android.support.v4.view.ViewPager; 
import android.util.Log; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 

ответ

1

Вы необходимо использовать getSupportFragmentManager, потому что ваш конструктор получает android.support.v4.app.FragmentManager и getFragmentManager ret урны android.app.FragmentManager вместо

+0

сейчас, когда я использую «getSupportFragmentManager», я получаю: он не определен в типе frag3 – rmaik

+1

Вам нужно решить, хотите ли вы использовать фрагменты поддержки (v4) или нет. Кажется, у вас есть несколько/разных типов фрагментов. 'getSupportFragmentManager' может вызываться только из' FragmentActivity'. Если вы не используете 'FragmentActivity', тогда измените свой' ViewPagerTabsAdapter', чтобы использовать 'android.app.FragmentManager' вместо –

+0

, можете ли вы получить lokk в разделе обновления выше – rmaik

0

in fag3 попробуйте заменить
import android.app.Fragment; с import android.support.v4.app.Fragment;

+0

сейчас, импорт адаптера является: " импорта java.util.List; импорта android.support.v4.app.Fragment; импорта android.support.v4.app.FragmentManager; импорта android.support.v4.app. FragmentPagerAdapter;» – rmaik

+0

и и fra3 импорта: " импорта java.util.ArrayList; импорта java.util.List; импорта com.example.fragmentcommunication_00.adapter.ViewPagerTabsAdapter; импорта android.app.ActionBar; импорта android.app. ActionBar.Tab; импорт android.app.ActionBar.TabListener; импорта android.app.Activity; импорта android.support.v4.app.Fragment; импорта android.app.FragmentTransaction; импорта android.os.Bundle; импорт android.support.v4.view.ViewPager; импорт android.util.Log; импорт android.view.LayoutInflater; импорт android.view.View; import android.view.ViewGroup; – rmaik

+0

, пожалуйста, ознакомьтесь с обновлением 2 раздела – rmaik

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