为了在Android中实现滑动标签,我遵循以下指南:使用TabLayout的Google Play样式标签
在实现FragmentPageAdapter时,我遇到了一个问题,即"getItem()"方法,该方法用于返回具有相关位置的片段,在本例中为"PageFragment.newinstance(position + 1)".PageFragment是一个通用的片段.问题本身是:
"com.myProject.SampleFragmentPagerAdapter"中的"getItem(int)"与"android.support.v4.app.FragmentPagerAdapter"中的"getItem(int)"冲突; 尝试使用不兼容的返回类型
有人可以找出问题所在吗?
我已附加指南的SampleFragmentPagerAdapter以加快检查速度:
public class SampleFragmentPagerAdapter extends FragmentPagerAdapter {
final int PAGE_COUNT = 3;
private String tabTitles[] = new String[] { "Tab1", "Tab2", "Tab3" };
private Context context;
public SampleFragmentPagerAdapter(FragmentManager fm, Context context) {
super(fm);
this.context = context;
}
@Override
public int getCount() {
return PAGE_COUNT;
}
@Override
public Fragment getItem(int position) {
return PageFragment.newInstance(position + 1);
}
@Override
public CharSequence getPageTitle(int position) {
// Generate title based on item position …Run Code Online (Sandbox Code Playgroud) 我有一个带有ExpandableList的片段,其内容由a提供HashMap<String,List<String>>.这HashMap<String,List<String>>填充了Fragment的Activity,我需要将它传递给片段.
要做到这一点,我打算做一个片段交易,但我发现了问题:
在片段的方法"newInstance"中,当设置Bundle的参数时,没有放置HashMap的方法.
例如:
Bundle args = new Bundle();
args.putInt(ARG_PARAM1,index); //method .putHashmap doesn't exist.
Run Code Online (Sandbox Code Playgroud)
那么,我怎样才能将我的hashmap传递给Fragment呢?请为此提供解决方案.谢谢