我正在用来com.google.accompanist:accompanist-pager实现页面的无限滚动。我按照 HorizontalPagerLoopingSample 中的描述实现了所有内容。我需要从第三页开始显示我的寻呼机。但是当我设置initialPage = 2 HorizontalPager 显示错误的页面。在示例中设置显示第一页initalPage = Int.MAX_VALUE / 2。是否可以用无限寻呼机计算真实的具体位置?
我尝试做这样的事情:
val positionFromIWantToStart = 2
val startIndex = (Int.MAX_VALUE / 2) + positionFromIWantToStart
val pagerState = rememberPagerState(initialPage = startIndex)
Run Code Online (Sandbox Code Playgroud)
但这工作不正确,HorizontalPager总是显示第一页。
请帮我。
android infinite-scroll android-viewpager android-jetpack-compose jetpack-compose-accompanist
我正在尝试在我的应用中使用viewpager.
我想用listviews创建4个视图页面,每个listview只有数据会发生变化.当应用程序启动时,每个页面都会加载自己的数据,但第一次只显示第一个.
但我无法做到这一点.我的片段刷新自己的数据每个页面都有变化,所有列表视图总是有相同的数据.请帮我解决这个问题.我已经在stackoverflow上问了这个问题,但是没有人回答它.如果有一个关于它的来源你能发送链接吗?
我正在使用Android支持包v4中的ViewPager,但它说它无法在支持包中找到ViewPager类.我不知道如何解决它?
logcat的
04-13 16:48:05.842: E/AndroidRuntime(1211): FATAL EXCEPTION: main
04-13 16:48:05.842: E/AndroidRuntime(1211): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.alpha.liveshitplus/com.alpha.liveshitplus.Discography}: android.view.InflateException: Binary XML file line #6: Error inflating class android.support.v4.view.ViewPager
04-13 16:48:05.842: E/AndroidRuntime(1211): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1955)
04-13 16:48:05.842: E/AndroidRuntime(1211): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980)
04-13 16:48:05.842: E/AndroidRuntime(1211): at android.app.ActivityThread.access$600(ActivityThread.java:122)
04-13 16:48:05.842: E/AndroidRuntime(1211): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146)
04-13 16:48:05.842: E/AndroidRuntime(1211): at android.os.Handler.dispatchMessage(Handler.java:99)
04-13 16:48:05.842: E/AndroidRuntime(1211): at android.os.Looper.loop(Looper.java:137)
04-13 16:48:05.842: E/AndroidRuntime(1211): at android.app.ActivityThread.main(ActivityThread.java:4340)
04-13 16:48:05.842: E/AndroidRuntime(1211): at java.lang.reflect.Method.invokeNative(Native Method)
04-13 16:48:05.842: E/AndroidRuntime(1211): at java.lang.reflect.Method.invoke(Method.java:511)
04-13 16:48:05.842: E/AndroidRuntime(1211): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
04-13 16:48:05.842: …Run Code Online (Sandbox Code Playgroud) 我在这里遇到一个让我疯狂的问题.我所拥有的是以下内容:
FragmentActivity1拥有viewPager.它实例化FragmentAdapter和两个片段并将它们附加到ViewPager.
Fragment1只有一个按钮.当用户单击此按钮时,我创建一个Intent并调用FragmentActivty.此fragmentActivity包含一个表单,用户填写该表单并按OK.当他这样做时,我会将数据保存在应用程序的数据库中.
Fragment2是一个ListFragment,列出了用户先前插入的所有数据.
当用户完成表单并按下OK时,我会持久保存数据,就像我说的那样并完成()活动,返回Fragment1.当我转到Fragment2时,数据不存在.然后我需要转换到Frag1然后再回到Frag2.只有这样我才能看到问题.
我已经尝试在活动和片段之间设置监听器,但仍然无法使其工作.
有人见过吗?我也愿意分享我的小项目,所以你们可以看一看.
谢谢,菲利普
在我的Android应用程序中,我有3个片段.AB和CI正在进行一些XML解析和填充listviews.从A到B和B到C的擦除非常流畅.但是当我尝试从C刷到B和B到A时,它卡住了大约10秒钟.A,> B-> C很顺利.而C-> B-> A有问题.真的很烦人.谁能帮我摆脱这个问题?...谢谢预先....
这是我的MainActivity =>
public class MainActivity extends FragmentActivity {
private ViewPager mViewPager;
private ProgressDialog pd;
Button settings;
static TextView flashnews;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SharedPreferences mlmprf = getSharedPreferences("malayalam", MODE_PRIVATE);
final SharedPreferences.Editor mlmedit = mlmprf.edit();
if(mlmprf.getBoolean("enable", true))
{
A.headflag="malayalam";
}
else
{
A.headflag="english";
}
flashnews=(TextView)findViewById(R.id.flashs);
flashnews.setSelected(true);
flashnews.setEllipsize(TruncateAt.MARQUEE);
flashnews.setHorizontallyScrolling(true);
flashnews.setSingleLine(true);
flashnews.setLines(1);
PagerTabStrip pagerTabStrip = (PagerTabStrip) findViewById(R.id.pager_title_strip);
pagerTabStrip.setDrawFullUnderline(true);
pagerTabStrip.setTabIndicatorColor(Color.rgb(174, 1, 34));
mViewPager = (ViewPager) findViewById(R.id.viewpager);
mViewPager.setAdapter(new MyAdapter(this));
}
private class MyAdapter extends FragmentPagerAdapter{
private Context …Run Code Online (Sandbox Code Playgroud) 我正在编写一个使用许多片段的应用程序.我使用了ActionBarSherlock(带ActionBar).为了解决bug#240,我决定切换一个功能正常的实现来使用ActionBarSherlock和TabHost.经过半个小时的工作,它工作正常,除了我在页面之间滑动:相应的选项卡被选中,但没有居中,往往甚至看不到,因此用户无法看到选择了哪个选项卡.

在图片中,您可以看到可见片段("WEEKLY S .."),但标签只有一半可见.下一次滑动只会使"WEEKLY S ..."看起来像"CALENDAR EVENTS",除非我手动滑动TabWidget,否则我不知道选择了哪个Tab.
这是我的activity_main.xml:
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fillViewport="true"
android:scrollbars="none" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:tabStripEnabled="true"
android:orientation="horizontal" />
</HorizontalScrollView>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="0"/>
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
</LinearLayout>
</TabHost>
Run Code Online (Sandbox Code Playgroud)
而我的TabsAdapter与Jake Wharton的FragmentTabsPager示例相同.
欢迎任何建议!
android horizontal-scrolling android-tabhost android-viewpager actionbarsherlock
大家好我这里有viewpager宽度问题.这不是全屏宽度.你能回答我吗?
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:id="@+id/project_detail_layout"
android:orientation="vertical" >
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="fill_parent"
/>
<com.viewpagerindicator.CirclePageIndicator
android:id="@+id/indicator"
android:padding="10dip"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_alignParentTop="true"
/>
Run Code Online (Sandbox Code Playgroud)
片段代码就是这样.我在这里动态添加图像.图像从chache或sdcards加载或在任何一种情况下下载.
public static class ArrayListFragment extends Fragment {
int mNum;
static ArrayListFragment newInstance(int num) {
ArrayListFragment f = new ArrayListFragment();
// Supply num input as an argument.
Bundle args = new Bundle();
args.putInt("num", num);
f.setArguments(args);
return f;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mNum = getArguments() != null ? getArguments().getInt("num") : 1;
}
@Override
public View onCreateView(LayoutInflater inflater, …Run Code Online (Sandbox Code Playgroud) 我创建了一个SherlockFragmentActivity,它有三个ViewPager片段.但是现在我想在NavigationDrawer中使用这个Activity但是我很困惑如何做到这一点.Google+应用有这种实现,但我想知道如何实现这一目标.
NavigationDrawer将具有以下UI元素:
使用导航抽屉是否可以进行这种布局如果是,我应该怎么做.如果没有,我应该怎么做才能在我的应用程序中实现这种导航.
android android-fragments android-viewpager navigation-drawer
我可以在Buttons等上放置徽章编号,但有没有关于如何在视图寻呼机上放置徽章编号的示例?对于按钮我正在创建一个具有适当背景资源的xml等,但我无法找到任何方法将它放在PagerSlidingTabStrip.
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="2dp"
android:layout_marginTop="2dp"
android:background="@drawable/badge"
android:gravity="center"
android:paddingLeft="2dp"
android:paddingRight="2dp"
android:text="2"
android:textColor="@color/WHITE"
android:textSize="12sp"
android:textStyle="bold"
android:visibility="gone" />
Run Code Online (Sandbox Code Playgroud)
我将值设置为gonefirst并在需要时显示.有没有办法用视图寻呼机做到这一点?
我有一个应用程序,其主要导航功能是一个ViewPager基本上无限的页面.我正在使用类似于InfiniteViewPager(带有a FragmentStatePagerAdapter)的东西,在ViewPager的中间开始导航,因此左侧和右侧都有页面开始.我也使用负边距mPager.setPageMargin(-50);使两边的页面略微可见.
我正在从网上加载大量数据,因此我通过在我的活动中使用android:configChanges="orientation|keyboardHidden"和onConfigurationChanged覆盖来自行处理配置更改.主要是,我不想重新创建我的活动,因为我认为在改变方向时需要花费太长时间.
我打开应用程序,向任一方向滑动,等待ViewPager停止动画,然后更改方向.当前页面现在稍微偏离中心,一个相邻页面比另一个更暴露.有时其中一个相邻页面完全在屏幕外.
如果我触摸页面,ViewPager会滚动到当前页面并按预期显示,但除非我这样做,否则显示错误.我遇到这个问题从风景到肖像,从肖像到风景.我已尝试设置OnGlobalLayoutListener并执行mViewPager.setCurrentItem(mViewPager.getCurrentItem())但ViewPager忽略setCurrentItem如果您要求它将当前项目设置为实际当前项目.
主要活动
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
//whatever I do in here doesn't make a difference.
//my viewpager still displays off center, even if I do nothing custom
}
Run Code Online (Sandbox Code Playgroud)
寻呼机适配器
private class MyAdapter extends FragmentStatePagerAdapter{
public CarouselPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
PageData dataForThisPage = mModel.getDataForPage(position);
PageContainerFragment f = PageContainerFragment.create(position, …Run Code Online (Sandbox Code Playgroud)