草庐IT

autocomplete_fragment

全部标签

java - Picasso Android 内存问题,当 fragment 被替换时

我正在构建一个带有选项卡导航的Android应用程序。每个选项卡都有自己的返回堆栈,并在用户浏览应用程序时将fragment堆积到返回堆栈中。问题是,当我在fragment之间导航时(使用FragmentTransaction的替换方法),使用Picasso加载图像的imageView也保持其状态。这最终会导致OOM错误。我想在替换fragment时释放图像内存,并在重新访问时恢复状态。我正在考虑以下方法来解决这个问题。释放适配器使用的内存(ListAdapter,FragmentAdapter,...)(大多数图像是这些适配器中的项目的展示)调用adapter.clear()清除fr

android - 使用许多 fragment 是一种不好的做法吗?

我有一个应用程序,假设有15个不同的部分。我使用带有FrameLayout的单个Activity,其中我使用NavigationDrawer加载15个不同的fragment。我在加载滑动选项卡布局的几个父fragment下也有子fragment。所以,简而言之,我的应用程序中有很多fragment。问题是,如果我在添加到FrameLayout的同时将fragment添加到BackStack,只要我的应用程序存在,fragment就永远不会被销毁(只有View被销毁,这是设计的预期行为)。更糟糕的是,如果用户一直将鼠标悬停在不同的Fragment上,BackStack的大小会不断增加,这

Daimajia 的 Android 图像 slider 不能在 fragment 中工作,但在不在 fragment 中时可以工作

我正在尝试从github库中实现一个Imageflipperhttps://github.com/daimajia/AndroidImageSlider.起初,当我在没有任何fragment的Activity中尝试代码时,它工作正常,但是当我尝试将它放入fragment中时,它不起作用并且屏幕变成空白。这是fragment中的代码-publicclassFragmentBextendsFragmentimplementsBaseSliderView.OnSliderClickListener,ViewPagerEx.OnPageChangeListener{privatestaticf

android - 如何将 ImageView 半重叠放置在 Fragment 中的 ConstraintLayout 顶部边界上?

我正在尝试制作一个登录屏幕,其中我的LoginActivity包含一个LoginFragment,用于获取用户输入以显示图片、用户名和密码。现在,我想显示我的圆形ImageView居中并半重叠ConstraintLayout的顶部边界,这是我的Fragment的根布局(如附图所示)。我怎样才能做到这一点?除了ImageView的放置外,一切都工作正常。我还附上了我的fragment布局xml的代码。我已经看到了Howtohalfoverlapimagesinandroidconstraintlayout和howtohalfoverlapimageviewonanotherimagevi

Android 位图、回收和堆 fragment

我有一个应用程序大量使用从SD卡读取的位图。我99%确定如果不回收这些应用程序,我的应用程序永远不会被销毁。它们都被分配到LRU缓存(公共(public)集合)中,当它们从LRU缓存中清除时,该缓存会回收它们,我在onDestroy()中回收剩余部分。尽管如此,我还是有问题。如果我多次启动/停止/启动/...我的应用程序,我总是会出现内存不足错误。我的理论是它与Android的非压缩堆有关。几次运行后,堆已足够fragment化,因此尽管有足够的可用内存,但没有足够大的连续block来加载位图。无论如何,这就是理论。我一直在通过在onDestroy()(android.os.Proce

android - 多个 ListFragment 的 fragment 管理最佳实践

我计划在一项Activity中包含3个fragment列表。目标是您从第一个列表中选择谈话选项,然后它会根据您在谈话列表中单击的内容过渡到运行列表,然后在运行列表中,根据您单击的内容将过渡到最终的饮食列表。这应该发生在fragment本身(就像我拥有的​​那样)还是调用Activity来处理将数据来回传递给fragment?publicclassOptionsActivityextendsActivity{protectedTalkFragmenttalk;protectedRunFragmentrun;protectedEatFragmenteat;@Overrideprotecte

android - 如何在 fragment 中使用 onSearchRequested()?

我正在开发一个使用fragment的应用程序,这是我的问题。1.在旧版本的android中,我们可以覆盖activity中的onSearchRequested()方法。2.但是在fragment中我们不能覆盖onSearchRequested(),如何在fragment中实现这个方法。谢谢,尼克尔雷迪。 最佳答案 试试getActivity().onSearchRequested(); 关于android-如何在fragment中使用onSearchRequested()?,我们在Sta

android - 尽管调用了 addToBackStack(null),但 Fragment BackStack 不起作用

在我的Activity中,我调用:getFragmentManager().beginTransaction().addToBackStack(null).add(R.id.fragment_container,newUserPlaylistsFragment()).addToBackStack(null).commit();此fragment已正确添加到View中。该fragment包含一个ListView。单击项目时,将执行以下代码:getFragmentManager().beginTransaction().replace(R.id.fragment_container,new

android - 将 TextView 对象动态添加到 Fragment

当TextView元素在我的XML中静态定义时,我已经能够在Fragment中使用这些元素。但是当我尝试以动态/编程方式创建它们时,我看不到任何显示。我已经创建了一个我遇到的问题的简单示例。这个有效,我看到屏幕更新了。@OverridepublicViewonCreateView(LayoutInflaterinflater,ViewGroupcontainer,BundlesavedInstanceState){Viewv=inflater.inflate(R.layout.hello_world,container,false);TextViewtv=(TextView)v.fin

android - 两次旋转设备时 fragment 失去其状态

我有一个显示两个fragment的Activity:创建Activity时,它会显示Fragment1。当用户按下Fragment1上的按钮时,它会显示Fragment2,并添加到后台堆栈。fragment很简单。Fragment1包含CheckBox和EditText。Fragment2包含简单的TextView。我还在fragment的onCreate(...)方法中调用了setRetainInstance(true)。问题:如果显示Fragment2并且设备旋转两次,Fragment1将失去其状态。但是,如果设备仅旋转一次,一切都会按预期进行。重现步骤:启动应用程序。选中Chec