我有一个ViewPager包含三个片段,我想将3个新片段放入第三个片段.这可能吗?
[ViewPager]
[Fragment 1]
[Fragment 2]
[Fragment 3]
[Fragment 3-1]
[Fragment 3-2]
[Fragment 3-3]
[ViewPager]
Run Code Online (Sandbox Code Playgroud)
编辑:我不能getChildFragmentManager()但只能getFragmentManager(),我正在使用android.support.v4.app:
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.add(R.layout.tools_frame5, new Plugins());
ft.commit();
Run Code Online (Sandbox Code Playgroud)
编辑:如何将3个活动放在第三个片段中,这可能吗?
android android-fragments android-viewpager android-nested-fragment
我正在关注官方Android文档中的页面翻转教程:http: //developer.android.com/training/animation/screen-slide.html
覆盖getItem(int)方法时,我收到此错误:
'ScreenSlidePagerAdapter类'中的getItem(int)与'android.support.v4.app.FragmentStatePagerAdapter'中的getItem(int)冲突; 尝试使用不兼容的返回类型.
我的自定义片段类扩展了Fragment,就像在教程中一样.
为了确保我没有做错,我复制并粘贴了示例代码以测试它(更改所需的名称).
我究竟做错了什么?
我不确定我是否正确地接近这个问题,并希望从友好的SO社区获得一些建议.基本上,我希望得到一个效果,如从屏幕左侧出来的滑动菜单,但我希望菜单和主屏幕共享相同的背景.因此,当菜单出来时,它只是将主要内容推向右侧,但它们共享相同的背景.
我已经尝试使用ViewPager,将菜单放在位置0,主要内容放在位置1.它看起来很好,除了我不知道如何阻止ViewPager回到原来的位置或者完全转到下一页.我希望它大约停止一半.我尝试重写ViewPager的onTouch()方法,我可以识别视图被拖动的一半,但我不知道如何将其锁定到位.
有任何想法吗?
android slidingdrawer android-fragments android-viewpager slidingmenu
我有这个内存不足错误我有一个viewpager使用活动而不是片段和imageview然后当我得到这个错误我把它改为片段...但这个错误一直显示我尝试了很多解决方案没有一个工作...
我的代码:
public class ScreenSlidePageFragment extends Fragment {
public static final String ARG_PAGE = "page";
private int mPageNumber;
private int[] pics = {R.drawable.intro1, R.drawable.intro2,R.drawable.intro3,R.drawable.intro4,R.drawable.intro5,R.drawable.intro6,R.drawable.intro7,R.drawable.intro8,
R.drawable.intro9,R.drawable.intro10,R.drawable.intro11,R.drawable.intro12,R.drawable.intro13,R.drawable.intro14,R.drawable.intro15,R.drawable.intro16,R.drawable.intro17,R.drawable.intro18,
R.drawable.intro19,R.drawable.intro20,R.drawable.intro21,R.drawable.intro22,R.drawable.intro23,R.drawable.intro24,R.drawable.intro25,R.drawable.intro26,R.drawable.intro27,R.drawable.intro28,R.drawable.intro29,R.drawable.intro30,
R.drawable.intro31,R.drawable.intro32,R.drawable.intro33,R.drawable.intro34,R.drawable.intro35,R.drawable.intro36,R.drawable.intro37,R.drawable.intro38,R.drawable.intro39,R.drawable.intro40,R.drawable.intro41,R.drawable.intro42,
R.drawable.intro43,R.drawable.intro44,R.drawable.intro45,R.drawable.intro46,R.drawable.intro47,R.drawable.intro48,R.drawable.intro49,R.drawable.intro50,R.drawable.intro51,R.drawable.intro52,R.drawable.intro53,R.drawable.intro54,
R.drawable.intro55,R.drawable.intro56,R.drawable.intro57,R.drawable.intro58,R.drawable.intro59,R.drawable.intro60,R.drawable.intro61,R.drawable.intro62,R.drawable.intro63,R.drawable.intro64,R.drawable.intro65,R.drawable.intro66,
R.drawable.intro67,R.drawable.intro68,R.drawable.intro69,R.drawable.intro70,R.drawable.intro71,R.drawable.intro72,R.drawable.intro73};
int count=72;//it's the number of the images-1;
public static ScreenSlidePageFragment create(int pageNumber) {
ScreenSlidePageFragment fragment = new ScreenSlidePageFragment();
Bundle args = new Bundle();
args.putInt(ARG_PAGE, pageNumber);
fragment.setArguments(args);
return fragment;
}
public ScreenSlidePageFragment() {
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mPageNumber = getArguments().getInt(ARG_PAGE);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup …Run Code Online (Sandbox Code Playgroud) android android-imageview android-fragments android-viewpager
我用ViewPager写了一个FragmentActivity,我不想使用操作栏作为标签(因为我不希望标签位于菜单上)而且也不是PagerTabStrip解决方案,因为我无法按照我想要的方式自定义它.
所以我写了一个自己的linearlayout作为标签容器:
<LinearLayout
android:id="@+id/main_tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="horizontal" >
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
每个选项卡都有一个View.OnClickListener
OnClickListener onClickListener = new View.OnClickListener() {
@Override
public void onClick(final View view) {
mapTabs.get(lastSelectedTab).setSelected(false);
view.setSelected(true);
Runnable runnable = new Runnable() {
@Override
public void run() {
int index = Integer.parseInt(view.getTag().toString());
FragmentActivity.setTab(index);
lastSelectedTab = index;
}
};
handler.post(runnable);
}
};
}
public static void setTab(int index) {
FragmentActivity.viewPager.setCurrentItem(index, true); // true or false does not make any difference
}
Run Code Online (Sandbox Code Playgroud)
这是我编写的方法将单个选项卡添加到选项卡容器(main_tabs):
private void addTab(LayoutInflater inflater, ViewGroup tabs, int imageId, View.OnClickListener onClickListener) …Run Code Online (Sandbox Code Playgroud) 我有一个ListView抓取滑动手势删除一行.这ListView住在一个Fragment.在手机上,这是它自己的,Activity并且工作得很好.在平板电脑上,这Fragment是一个,ViewPager并且ListView永远不能捕获任何滑动事件,因为他们总是去ViewPager.
我将如何确保ListView在传递到消息之前消费者捕获滑动手势ViewPager?
PS我正在使用这个库来轻扫我的手势ListView
android android-listview android-fragments swipe-gesture android-viewpager
我将FragmentTabHost放入ViewPager,但是在旋转设备后标签内容已经消失.如果我单击另一个选项卡以刷新内容,则选项卡内容将返回.我的代码有什么问题吗?请帮帮我.
public class MyActivity extends FragmentActivity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LayoutInflater inflater = getLayoutInflater();
View tabView = inflater.inflate(R.layout.tab, null);
FragmentTabHost tabHost = (FragmentTabHost) tabView.findViewById(android.R.id.tabhost);
tabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);
tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("Tab1"), TabContent1Fragment.class, null);
tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator("Tab2"), TabContent2Fragment.class, null);
View page2 = inflater.inflate(R.layout.page2, null);
ViewPager viewPager = (ViewPager) findViewById(R.id.viewPager);
List<View> list = new ArrayList<View>();
list.add(page2);
list.add(tabView);
viewPager.setAdapter(new DemoPagerAdapter(list));
}
}
public class TabContent1Fragment extends Fragment
{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
return inflater.inflate(R.layout.tab_content_1, null);
}
} …Run Code Online (Sandbox Code Playgroud) 我主要活动只有ViewPager.第一个标签页片段包含:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/llEventsTabPage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/lvEvents"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我想在用户点击ListView中的项目时显示详细信息片段:
lvEvents.setAdapter(adapter);
lvEvents.setOnItemClickListener(
new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapter, View view, int position, long id) {
Fragment eventFragment = new EventFragment();
FragmentTransaction fragmentTransaction = getChildFragmentManager().beginTransaction();
fragmentTransaction.addToBackStack(null);
fragmentTransaction.replace(R.id.llEventsTabPage, eventFragment);
fragmentTransaction.commit();
}
}
);
Run Code Online (Sandbox Code Playgroud)
代码'fragmentTransaction.commit();' 被调用,调用EventFragment的onCreateView,但在'fragmentTransaction.commit();'之后 什么都没发生.没有错误,没有结果.只是列表视图仍然显示和工作.
我究竟做错了什么?我找到了一些例子,我的代码看起来一样,但没有用,我对此无能为力.
谢谢!
我正在制作一个应用程序,学生可以在那里查看课程网格.使用json文件检索课程.现在更改日期是通过操作栏中的按钮完成的,但我想让它也可以使用平滑的滑动效果.
唯一需要改变的是左侧滑动的SlectedDate-1 .右侧滑动时的SelectedDate + 1 .
我用ViewPagers 尝试了但是它没有用,有人知道怎么做吗?也许有3个浏览器的东西?请详细的代码,因为我不太熟悉viewpagers代码!
我已经尝试过使用日期代码的Android ViewPager,但它对我不起作用.
private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
public ScreenSlidePagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
String myFormat = "yyyy-MM-dd";
SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);
switch (position) {
case 0:
// create your dates for the leftmost fragment
myCalendar.add(Calendar.DAY_OF_YEAR, -1);
final String dateje = sdf.format(myCalendar.getTime());
// mPager.setCurrentItem(1);
return ScreenSlidePageFragment.create(dateje);
case 1:
// create your dates …Run Code Online (Sandbox Code Playgroud) android date android-fragments android-gesture android-viewpager
我知道在ScrollView中有很多关于ViewPager情况的问题,但是我还没有看到一个描述我所面临的情况的问题.
问题是,当我没有ScrollView时,我的viewPager工作正常,因为它可以在这张照片中看到.

如果我将ScrollView仅用于ViewPager下面的元素,我也会工作,但我不想要这种行为.

当我添加ScrollView时,我可以向上和向下滚动,我也可以向左和向右滑动(为此,我使用这种方法),但随后图像被加载但未显示,因为它可以在下面的图片中看到.

我发现如果,例如,我有四个图像,我在第一个位置看到第一个图像,我可以向右滑动两次(第三个位置),我什么也看不到,但是当我滑动时一次回到左边(第二个位置),我可以看到第二个图像!
不完全确定它是否相关,但方法getCount似乎完全疯了并且不断被称为不停.
XML
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/footer"
android:id="@+id/custom_scroll"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbarFadeDuration="0"
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<com.-----.-----.WrapContentHeightViewPager
android:id="@+id/imagePager"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/title"
android:textSize="15sp"
android:paddingTop="15dp"
android:paddingLeft="10dp"
android:paddingRight="10dp" />
<TextView
android:id="@+id/tags"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/tags"
android:textColor="#ffff44"
android:textSize="13sp"
android:paddingLeft="10dp"
android:paddingRight="10dp" />
Run Code Online (Sandbox Code Playgroud)
我尝试使用不同类型的自定义ScrollViews,但问题仍然存在.我正在使用Android 4.4的Nexus 4进行测试