Articles of android viewpager

无法通过从右向左滑动关闭NavigationDrawer

我一直试图解决我遇到的问题,即我无法通过从右向左滑动来关闭NavigationDrawer,但没有成功。 通过从屏幕左边缘向右滑动打开它可以正常工作。 我目前正在尝试合并来自developer.android.com网站的NavigationDrawer示例和ViewPager示例,一切正常,但不是关闭导航抽屉。 我希望有人能帮助我。 这是我的代码: package com.example.android.effectivenavigation; import android.app.ActionBar; import android.app.FragmentTransaction; import android.app.SearchManager; import android.content.Intent; import android.content.res.Configuration; import android.os.Bundle; import android.support.v4.app.ActionBarDrawerToggle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.GravityCompat; import android.support.v4.view.ViewPager; import android.support.v4.widget.DrawerLayout; import android.util.Log; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; […]

ViewPager里面的片段问题

我有查看寻呼机的问题,它在一些片段内。 要使用视图寻呼机,我正在使用FragmentPagerAdapter。 确定我收到了java.lang.IllegalStateException:在尝试运行我的应用程序时递归进入executePendingTransactionsexception。 大多数人都认为将FragmentPagerAdapter放在其他片段中是不可能的,所以如果这个问题无效,我很抱歉。 我只是希望有人对这个问题及其可能的解决方案有一些新的想法。 PS我有一个建议在AsyncTask中设置适配器(我可以澄清这种情况,如果有人需要它),但这个解决方案有一些与恢复这样的片段状态相关的错误,所以它对我有用。

android viewpager更改适配器

我正在使用ViewPager开发一个用于横向滚动表的应用程序,有时我需要更改适配器以加载一组不同的表。 我试着做以下事情: mViewPager.setAdapter(new pagerAdapterPushed(getSupportFragmentManager())); mViewPager.getAdapter().notifyDataSetChanged(); indicator.setViewPager(mViewPager); indicator.invalidate(); mViewPager.invalidate(); 但它总是重新加载以前的数据。 是否可以更改ViewPager的适配器?

ViewPager没有显示任何内容

我用自定义视图寻呼机适配器创建视图寻呼机但是当我运行项目时我看不到任何东西 public class CustomAdapter extends PagerAdapter { private List newsObjects; private Activity mActivity; private LayoutInflater inflater; private ImageLoaderConfiguration imageConfig; private ImageLoader imageLoader = ImageLoader.getInstance(); public CustomAdapter(List newsObjects, Activity mActivity) { super(); Log.d(“Con :”, “structor”); this.newsObjects = newsObjects; this.mActivity = mActivity; imageConfig = new ImageLoaderConfiguration.Builder( mActivity.getApplicationContext()).build(); imageLoader.init(imageConfig); } @Override public int getCount() { return this.newsObjects.size(); } […]

退出转换前更新源活动

我需要有关活动之间转换的帮助: 我有两个活动A和B,并且都有一个具有相同图像列表的ViewPager。 每个页面都有一个ImageView,其transitionName等于image_x,其中x是页面索引。 A启动活动B调用ActivityOptionsCompat.makeSceneTransitionAnimation并且输入转换完全正常。 问题如下:当我关闭活动B时,退出转换不会在B的相同位置初始化活动A的视图寻呼机。 当用户关闭B时,后者在结果中设置当前页面位置。 在活动A的onActivityResult中,我调用setCurrentItem ,行为显示在gif中。 有没有办法在退出转换开始之前更新活动A?

同一活动中的导航抽屉和视图寻呼机

我试图在同一活动中实现导航抽屉和视图寻呼机。 导航抽屉工作正常,但视图寻呼机不工作,我也在导航抽屉打开时右侧滑动指针(空指针在android。支持.v4。小部件.GrawerLayout.isContentView(DrawerLayout.java:840)。我我附加了主要的xml布局和代码。 活动类如下 public class MainActivity extends Activity { private DrawerLayout mDrawerLayout; private ListView mDrawerList; private ActionBarDrawerToggle mDrawerToggle; private CharSequence mDrawerTitle; private CharSequence mTitle; private String[] mPlanetTitles; private MainActivity mContext; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mContext = this; ViewPager vp = (ViewPager) findViewById(R.id.viewpager); CustomPagerAdapter adapter = new CustomPagerAdapter(mContext); vp.setAdapter(adapter); vp.setPageTransformer(false, new ViewPager.PageTransformer() […]

IllegalStateException:无法更改片段的标签是android:switcher now android:switcher

我的活动使用TabLayout + ViewPager 。 此处的选项卡和页面数量是动态的,具体取决于从服务器获取的数据。 崩溃是通过Crashlytics报道的,我无法复制它。 我的活动代码: @Override protected void onCreate(Bundle savedInstanceState) { boolean isAppRestarting = PrefUtils.getBoolean(“app_restarting”, false); if (isAppRestarting) { super.onCreate(null); this.savedInstanceState = null; } else { super.onCreate(savedInstanceState); this.savedInstanceState = savedInstanceState; } initSlidingTabs(); fetchSomeData(); // see onDataFetched() below } private void initSlidingTabs() { List sdsTabs = new ArrayList(); Logger.i(“There is saved instance state”); ArrayList […]

android:根据ViewPager中的每个片段更新ActionBar项目?

我在Action Bar中有一个标记/书签按钮,我希望根据ViewPager查看哪个Fragment来打开或关闭。 如果用户在ViewPager中标记片段,则将其设置为启用。 当用户滑动到下一个时,我希望操作栏按钮更新为未标记。 现在,我可以通过拥有两个菜单项来更改按钮的状态,并隐藏一个,单击时显示一个。 这是我的Activity中切换Action Bar按钮的代码: public boolean onOptionsItemSelected(MenuItem item) { int currentItem = mPager.getCurrentItem(); switch (item.getItemId()) { case R.id.menu_flag: mFlagged = true; supportInvalidateOptionsMenu(); return true; case R.id.menu_unflag: mFlagged = false; supportInvalidateOptionsMenu(); return true; } } @Override public boolean onPrepareOptionsMenu(Menu menu) { MenuItem item_flag = menu.findItem(R.id.menu_flag); MenuItem item_unflag = menu.findItem(R.id.menu_unflag); if (mFlagged) { //If […]

当Fragment被重新显示时,Fragment中的ViewPager丢失了它的内容

我有一个带有ViewPager的简单片段。 我正在使用最新的支持库,v4 rev18! 如果我第一次显示它,一切正常,如果我回去再次显示它,应用程序崩溃时出现以下exception: java.lang.NullPointerException at android.support.v4.app.FragmentManagerImpl.getFragment(FragmentManager.java:569) at android.support.v4.app.FragmentStatePagerAdapter.restoreState(FragmentStatePagerAdapter.java:211) at android.support.v4.view.ViewPager.onRestoreInstanceState(ViewPager.java:1281) at android.view.View.dispatchRestoreInstanceState(View.java:12043) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2688) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2694) at android.view.View.restoreHierarchyState(View.java:12021) at android.support.v4.app.Fragment.restoreViewState(Fragment.java:425) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:949) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104) at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1460) at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:440) at android.os.Handler.handleCallback(Handler.java:615) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4800) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:798) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:565) at dalvik.system.NativeStart.main(Native Method) 我的简单课看起来像以下,应该是,实际上,很好…… public class RoutineDayFragment […]

第二次显示ViewPager时出现NullPointerException

我正在使用一个ViewPager片段,它有两个片段作为子片段。 这很好用,但是当我用另一个片段替换ViewPager片段并用ViewPager片段替换这个片段时,我的应用程序崩溃时出现以下NullPointerException : java.lang.NullPointerException: Attempt to invoke virtual method ‘int java.util.ArrayList.size()’ on a null object reference at android.support.v4.app.FragmentManagerImpl.getFragment(FragmentManager.java:667) at android.support.v4.app.FragmentStatePagerAdapter.restoreState(FragmentStatePagerAdapter.java:211) at android.support.v4.view.ViewPager.onRestoreInstanceState(ViewPager.java:1319) at android.view.View.dispatchRestoreInstanceState(View.java:13756) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2888) at android.view.View.restoreHierarchyState(View.java:13734) at android.support.v4.app.Fragment.restoreViewState(Fragment.java:468) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1094) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1248) at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1613) at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:517) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5294) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) […]