Articles of android fragments

跳过49帧! 应用程序可能在其主线程上做了太多工作

我在viewpager实现中膨胀视图(而不是片段)。 我的主要课程扩展了Activity。 当我尝试从我的应用程序中刷屏幕时,我遇到此错误 at com.example.app.CustomPagerAdapter.instantiateItem(CustomPagerAdapter.java:47) 和 01-04 16:44:35.5278614-8614/com.parsizabanan.app W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x4195ee48) 01-04 16:44:35.5278614-8614/com.parsizabanan.app E/AndroidRuntime﹕ FatAL EXCEPTION: main Process: com.parsizabanan.app, PID: 8614 android.view.InflateException: Binary XML file line #6: Error inflating class at android.view.LayoutInflater.createView(LayoutInflater.java:620) at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInfl ater.java:56) at android.view.LayoutInflater.onCreateView(LayoutInflater.java:669) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694) at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) at android.view.LayoutInflater.inflate(LayoutInflater.java:492) at android.view.LayoutInflater.inflate(LayoutInflater.java:397) at android.view.LayoutInflater.inflate(LayoutInflater.java:353) at com.parsizabanan.app.CustomPagerAdapter.instantiateItem(CustomPagerAdapter.java:47) at […]

如何避免TalkBack读取被解散的片段

我正在开发一个简单的应用程序,其结构在活动和碎片中,这是使其可访问的要求之一,所以我做了所有的内容描述,导航,焦点等。 它的效果很好,除了片段,如果有一个活动加载一个片段,对讲读取其内容,然后用户点击一些东西和一个可以添加到堆栈顶部的细节片段。 FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); audios = AudiosListFragment.newInstance(params); ft.add(R.id.audios_fragment_holder, audios); ft.commit(); 如果用户继续导航对讲仍然记住丢失片段的每个元素的位置。 有没有办法清除事件的辅助function列表并强制它再次获取它? 可访问性管理器似乎没有任何方法。 AccessibilityManager manager = (AccessibilityManager) getActivity().getSystemService(Context.ACCESSIBILITY_SERVICE); manager.getAccessibilityServiceList(); – 编辑 – 我尝试过但没有成功的事情。 从片段中的视图创建发送事件。 AccessibilityEvent event = AccessibilityEvent.obtain(AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED); AccessibilityDelegate delegate = new AccessibilityDelegate(); v.setAccessibilityDelegate(delegate); delegate.dispatchPopulateAccessibilityEvent(container, event); 中断片段的onResume上的所有待处理文本。 AccessibilityManager mgr = (AccessibilityManager) getActivity().getSystemService(Context.ACCESSIBILITY_SERVICE); mgr.interrupt(); 请求装饰器视图注册window_content_change或window_state_change事件。 getWindow().getDecorView() .sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED); – 编辑 – 制作了一个DumpView层次结构,并且没有被解散的片段的痕迹,但是对讲的剧照导航它:( 谢谢,我希望有人能对这个问题有所启发:) 问候。

片段2窗格windowSoftInputMode用于软键盘

如上所示,当我的2个窗格布局上打开软键盘时,我遇到了问题。 对于左侧列表视图片段,我想adjustPan软输入。 如果我不这样做,那么当软键盘关闭时,它会在列表片段上留下空白区域。 对于右侧详细信息窗格,我想adjestResize软输入,以便用户可以在编辑文本和单击按钮中输入文本,软键盘仍然打开。 我尝试使用setSoftInputMode()在各自的onCreateView()为我的片段设置不同的属性,但这对我没什么帮助,因为这两个片段最终得到了adjustResize 。 任何可以帮助我的解决方案/想法? 提前致谢。

像Contacts应用程序一样创建片段转换?

我正在寻找一个类似于Contacts应用程序中的Fragment。 我如何复制联系人卡片从底部到顶部滑动的方式? 我希望能够从顶部拉下来解雇。

片段选项卡主机错误:呈现期间引发exception:没有标记为null的选项卡

我已经使用片段标签主机一段时间了,它工作正常。 突然间我得到了这个布局编译错误。 Exception raised during rendering: No tab known for tag null activity_tabhost_search.xml: 请不要将它关闭,因为我检查了所有线程,但我无法解决这个问题。

无法在具有多个实例的片段中设置属性

我有一个主要活动,里面有一个ViewPager。 ViewPager使用FragmentPagerAdapter将Fragments放入ViewPager。 所有片段都是一个PdfAssetFragment,它包含一个PDFView(Joan Zapata)和我写的自定义视图,名为DrawingView(允许用户在屏幕上绘图)。 当我调用更改当前页面中的DrawingView的属性时(ViewPager中的每个片段都有自己的PDFView和DrawingView),似乎没有任何变化。 这是PdfAssetFragmentinheritance的抽象类(这是在这里,所以我可以轻松地扩展类以允许将不同的媒体types放在ViewPager中): public abstract class AnnotationFragment : Fragment { protected View _view; protected DrawingView _drawingView; /// /// ID of the fragment layout to inflate /// protected abstract int ViewId { get; } /// /// Sets up the view after it has been inflated /// protected abstract void SetupView(); /// /// Creates […]

片段交互回调:onAttach()vs setter

我正在尝试实现一个漂亮的,可重用的片段,我很难选择设置交互回调的模式。 我当然熟悉这些文档 ,但我对其中描述的方法有一些疑问。 假设我们有一个带回调接口的Fragment: public class MyFragment extends Fragment { private Callbacks mCallbacks; public static interface Callbacks { /* … */ } } 到目前为止,我遇到了两种为Fragments设置回调的方法。 1.在onAttach()中onAttach()转换上下文 Android开发指南中描述的方式。 @Override public void onAttach(Context context) { super.onAttach(context); try { mCallbacks = (Callbacks) context; } catch (ClassCastException e) { throw new ClassCastException(context.toString() + ” must implement Callbacks”); } } 优点: […]

如何将片段替换为TabLayout和ViewPager中的另一个片段

我想将片段替换为TabLayout Viewpager包含的另一个片段。 喜欢这个: 活动 – > 片段 – > B片段 (TabLayout ViewPager) – > C片段 (Tab片段) – > D片段 我的任务是将片段C切换到片段D. 注意: – TabLayout ViewPager还包含FragmentPagerAdapter的3个选项卡片段控件。 Tablayout片段的布局: <!– –> 片段B类: @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { view = inflater.inflate(R.layout.fragment_select_postpaid_service, container, false); tablayout = (TabLayout) view.findViewById(R.id.tablayout_postpaid_service); viewpager = (ViewPager) view.findViewById(R.id.viewpager_postpaid_service); viewpager.setAdapter(new TabPagerAdapter(getChildFragmentManager(), TabConstants.POSTPAID_SERVICE_TYPE_TABS_FLAG, TabConstants.POSTPAID_SERVICE_TYPE_TABS)); […]

Android – 错误膨胀文本视图

我知道stackoverflow上有很多类似的问题。 但这些都没有解决我的问题。 它不是主题设置,也不是资源未find。 我没有在这个布局中加载大图像(所有背景都来自可绘制的xml)。 所有属性都具有准确的值,包括名称空间声明。 它只是随机抛出这个exception。 看起来像一个机器人的bug。 它发生在Nexus 5X,Nexus 6P,HTC_A9u,ASUS_Z012等。我正在使用API​​ 25,支持库25.0.1,构建工具25.0.2。 在我更改为使用API​​ 25后,它开始报告此exception。 布局中有20个类似的节点,带有ScrollView 。 Fragment保留了这种布局。 我用片段事务初始化它,然后把它放在DrawerLayout 。 布局节点: … … 它也发生在ScrollView或类似类的东西上。 错误日志( TextView ): Exception java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myapp/com.example.myapp.LauncherActivity}: android.view.InflateException: Binary XML file line #813: Binary XML file line #813: Error inflating class TextView android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2665) android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2726) android.app.ActivityThread.-wrap12 (ActivityThread.java) android.app.ActivityThread$H.handleMessage (ActivityThread.java:1477) […]

在viewpager中具有不同内容的相同片段

嘿伙计们我遇到了严重的问题。 我有一个父片段,其中有viewpager和tablayout。 Viewpager保存具有与之关联的不同内容的片段。 每次思考都可以在滑动时正常工作,但每当我点击tablayout的不同选项卡时,SwipableFragment的categoryId和categoryName都会更改为相邻选项卡的SwipableFragmet到可见片段。 基本上当我启动FragmentAllNews(包含ViewPager)时,它会显示第二个片段/页面而不是第一个片段/页面,当我向第二个片段移动时,我会看到第三个…换句话说,它总是显示下一个或前一个片段/页面取决于滑动方向(左或右)。 对不起,我的英语不好 :( 这是我的Fragments和FragmentStatePagerAdater类 1 FragmentAllNews,它包含viewpager和tablayout public class FragmentAllNews extends Fragment { @Bind(R.id.tab_layout) TabLayout tabLayout; @Bind(R.id.all_news_viewpager) ViewPager viewPager; SessionManager sessionManager; String categoryId; String categoryName; ArrayList tabs; public static FragmentAllNews createNewInstance() { FragmentAllNews fragmentAllNews = new FragmentAllNews(); return fragmentAllNews; } @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); sessionManager = new SessionManager(getActivity()); […]