У меня есть 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;
сейчас, когда я использую «getSupportFragmentManager», я получаю: он не определен в типе frag3 – rmaik
Вам нужно решить, хотите ли вы использовать фрагменты поддержки (v4) или нет. Кажется, у вас есть несколько/разных типов фрагментов. 'getSupportFragmentManager' может вызываться только из' FragmentActivity'. Если вы не используете 'FragmentActivity', тогда измените свой' ViewPagerTabsAdapter', чтобы использовать 'android.app.FragmentManager' вместо –
, можете ли вы получить lokk в разделе обновления выше – rmaik