为什么使用片段?
我已经阅读了文档和其他一些问题的主题我真的没有说服; 我看不清此技术的使用限制. 片段现在被视为最佳实践; 每个活动基本上都应支持一个或多个片段,而不是直接调用布局. 创建片段是为了: 允许Activity使用许多片段,在它们之间进行更改,重复使用这些单位... ==> Fragment完全取决于活动的Context,因此,如果我需要一些通用的东西,我可以在许多活动中重复使用和处理,我可以创建自己的自定义布局或视图...我不会关心片段会添加的额外的复杂性. 在长途过程中,对于平板电脑/电话,可以更好地处理不同的分辨率==>可以在平板电脑中的同一活动中显示两个(或更多)片段,而手机中的两个(或更多)片段.但是为什么我要使用片段总是? 处理回调以在片段之间导航(即:如果用户登录,则显示片段,否则我会显示另一个片段). ===>只是尝试查看Facebook sdk登录的多少个错误,以了解它确实是(?)... 考虑到Android应用程序是基于活动的...在活
从Android FragmentActivity向Fragment传递参数
当我试图将参数从片段行为传递到片段时,它在片段中的getArguments()中给了我null指针异常. 这是我的片段性代码 public class IndexChartActivity extends FragmentActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.index_chart); IndexFragmentActivity indexFragment = (IndexFragmentActivity)getSupportFragmentManager().findFragmentById(R.id.index_fragment);
0 2023-05-19
编程技术问答社区
带有ViewPager的FragmentActivity。方向改变时崩溃
我在碎片性中使用了ViewPager.当方向更改时,我正在崩溃. @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list); context = this; loadInitialData(); setActionBar(); initializeUiComponents(); } private void initializeUiComponents() { // Set up the ViewPager with the sections adapter. mViewPager = (ViewPager) findViewById(R.id.pager); } 我的数据来自数据库,我必须
0 2023-05-14
编程技术问答社区
Android OpenGL ES 2:如何将OpenGL活动作为主活动中的一个片段使用
我是Android和OpenGL ES的新手.我必须在OpenGL中创建一个GUI,并且想在主要活动中将其用作Fragment.为了学习如何执行此操作,我尝试了2个教程 - tutement tutorial and Android开发人员在OpenGL ES . 上的Android开发人员教程 ,但我仍然不明白我如何确切地将OpenGL视图包含在Fragment中. OpenGL不使用XML布局文件,因此此过程对我来说很困惑.我想做这样的事情:在Fragment教程的主要活动内,我想在openGL中包括第三个Fragment.对我轻松,我是一个初学者:) 解决方案 如果开发人员教程要进行,则以下设置将有效: 活动: public class MainActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState)
0 2023-05-11
编程技术问答社区
当在onCreate中完成活动时,我的片段的onCreateView如何在它的onCreate之前被调用?
这很奇怪.我有一个简单的应用程序,该应用程序曾经登录显示活动中的片段.该应用程序还具有不活动的"超时",此后它将完成活动并显示登录屏幕 - 如果当超时发生时该应用在后台,则在活动中发生下一个onCreate或onStart事件.它完成了. 有时,当返回活动的活动中时,我会在碎片的肿瘤中获得NPE.片段非常简单,简单地调用字符串上的方法.字符串本身是通过呼叫getArguments()检索的.我已经验证了每当创建片段时,始终设置参数. 因此,在片段中,onActivityCreated似乎在某种程度上是在onActivityCreated上实际调用的,我知道这是不可能的.下面是堆栈跟踪的一部分: 01-14 15:34:37.176: E/AndroidRuntime(3272): at com.example.app.fragment.MyFragment.onActivityCreated(MyFragment.java:203) 01-14 15:34:37
试图通过v4兼容性使用DialogFragments导致NoClassDefFoundErrors
问候和致敬, 简短版本:我正在尝试在我的Android应用程序中使用DialogFragment,该应用程序的Minskdversion为8(Android 2.2).为了使用它们,我必须能够称呼" getsupportfragmentManager()".为了做到这一点,我尝试将调用活动更改为碎片性,这使GetSupportFragmentManager()可以在运行时解析,但是当尝试在运行时创建该意图时,我会得到NoclassDeffoundError,因为该应用程序无法解决该应用程序上游的某些东西它 w/dalvikvm(333):无法解析超类... 在这种情况下,我该如何从简单的活动中调用getsupportfragmentManager()而不会使该活动成为碎片性(无法正常工作)?或者我需要将活动变成碎片性,但是我需要进行其他一些更改才能使其起作用? 只是为了记录:我已经在项目中添加了android-support-v4.jar(否则,我根本无法编译).
Kotlin:如何在android中用按钮从片段中打开活动
如何在片段布局内使用按钮打开一个新活动? 我尝试了这个 override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { val view: View = inflater.inflate(R.layout.fragment_home, container, false) button25.setOnClickListener { val intent = Intent (getActivity(), settingActivity::class.java) getActivity().startActivity(intent) } return view
4 2023-04-21
编程技术问答社区
Error:(72, 42) 错误:不兼容的类型。FragmentActivity不能被转换为Fragment
我的项目遇到问题,我遇到了错误: 错误:(72,42)错误:不兼容类型:片段性无法为 转换为片段. 有人可以在这个问题上为我提供帮助吗? 这是我的片段之一 public class contact_Fragment extends FragmentActivity { View rootview; @Nullable public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { rootview = inflater.inflate(R.layout.contact_layout, container, false); return rootview;} Button sendEmail; EditText msg; @Override protected void onCreate(
安卓导航抽屉碎片状态
我目前正在为我的Android应用程序使用导航抽屉.在我的第一个片段中,我有一个使用Facebook的图形API加载数据的片段.因此,当我的应用首先加载时,它首先转到第一个片段. 然后,我使用导航抽屉单击另一个片段并查看. 然后,最后,我重复使用导航抽屉来返回第一个片段并查看它. 我面临的问题是,如何使用一次创建的片段,而不是在选择导航抽屉项目时重新创建它.我用于切换片段的代码如下所示. private void displayView(int position) { // update the main content by replacing fragments Fragment fragment = null; switch (position) { case 0: fragment = new SelectionFragment(); break; case 1: fr
导航抽屉,处理后退按钮,去往前一个片段?
我正在使用内置的导航抽屉来运行我的应用程序.我无法弄清楚如何处理后按钮.按下时,我希望它再次加载第一个片段. fragment1. 因此,当应用程序启动时,您会看到Fragment1启动.然后,他们可以单击片段2-5进入其他页面.在所有这些页面中,我希望返回按钮将用户带回Fragment1.用户应该能够通过后退按钮退出应用程序的唯一位置是Fragment1. 由于它都是由碎片性处理的,所以我尝试用后面的按钮弄乱.但是,我一直在迫使力量关闭错误: (01-11 14:09:33.114: E/AndroidRuntime(8292): android.view.InflateException: Binary XML file line #7: Error inflating class fragment) 这是我到目前为止所拥有的: 我确保将片段添加到后堆中: fm.beginTransaction().replace(R.id.main, newFra
在安卓系统中管理工具栏的导航和后退按钮的片段
我的所有片段都是通过ActionBarActivity(主动脉)控制的,在MainActivity a DrawerLayout内实现了所有子片段,并通过drawerlayout的列表项目单击.我要面对的问题是在通过抽屉推动片段后,我想将抽屉图标更改为ToolBar的背面图标,以便用户可以导航到以前的片段,并在同一片段中处理android.R.id.home的回调或在主动脉内部. 我使用的代码是: mainActivity.java public class MainActivity extends ActionBarActivity { private DrawerLayout layoutDrawer; private ActionBarDrawerToggle drawerToggler; private Stack stack; @Override protected void onCreate(Bu
如何使用MvxCachingFragmentActivity的例子
更新 - 感谢 @martijn00和 @plac3hold3r我设法更新了我的应用程序以使用mvxcachingfragmentCompatactivity,但它只是无法正常工作.我发现,如果我有时会返回,则ViewModel将可用,但是视图模型中的命令将是无效的. 另外,如果我回去然后向前,一些按钮无法响应.我认为这是同一问题. 我真正需要知道的是缓存活动给我的附加功能以及如何正确使用它. 原始问题如下... 我正在遇到一个问题,其中片段的视图模型为null.我怀疑当我打开相机活动时,我的活动正在清理.对于我所有的应用程序,都使用一个活动,我所有的视图都是碎片. 当相机活动完成后,将重建活动,但其中一个片段视图模型为空.我目前正在为我的单个活动使用AppCompatactivity,但是通过我的研究,我可能应该使用mvxCachingFragmentActivity.问题是我不知道我应该如何使用它.我在任何地方都找不到明确的解释. 是否有人有一个工
4 2023-04-07
编程技术问答社区
如何解决这个问题:在logcat->>错误加载/system/media/audio/ui/Effect_Tick.ogg?
我有问题: error loading /system/media/audio/ui/Effect_Tick.ogg 当我单击navDraw图标时显示.有人可以帮助我吗? 这是logcat上的错误: 04-20 01:42:11.240: E/SoundPool(639): error loading /system/media/audio/ui/Effect_Tick.ogg 04-20 01:42:11.251: E/SoundPool(639): error loading /system/media/audio/ui/Effect_Tick.ogg 04-20 01:42:11.251: E/SoundPool(639): error loading /system/media/audio/ui/Effect_Tick.ogg 04-20 01:42:11.280: E/SoundPool(639): error loading /system/media/
OnLoadFinished()被调用两次
我试图弄清楚我在装载机方面是否做错了什么.我正在使用支持库,并且有一个片段,该片段在onCreate()调用initloader()设置为loaderCallbacks,但是在旋转时,它在onloadFined()中都会接收到结果两次,这是一次呼叫init的结果(并且已经拥有数据),并且由于碎片性在OnStart()中的所有加载器中循环并提供结果,因此由于它已经具有数据,因此碎片性循环并提供了结果. 如果我只调用Init一次(在片段的第一次启动时),它不会将自己设置为加载程序的回调,因此根本不会接收到OnloadFined的调用.似乎只能在OnloadFined()(例如清除列表适配器等)中完成某些昂贵的事情,所以OnloadFined OnloadFined仅应调用一次,所以我只是想弄清楚这是否是错误或是否是错误只是在错误的时间或其他方式调用init. 有人对此问题有任何见识吗? 解决方案 我也有类似的问题,原因是我的代码中有initLoader和restartLo
在标签式活动中把sqlite数据库的所有数据显示在列表视图中
作为Android开发的新来者,我已经在这个问题上呆了几个星期,而且变得非常累人. 查看了每个教程并阅读了我能找到的每个问题和答案之后,我仍然不知道如何让Android Studio只需将SQLite数据库中的内容粘贴到listview中.我以为XML文件中会有某种形式的命令,以显示数据库中的所有内容,但似乎更为复杂. 基本上,我想做的是在我的listview(list_dogs)中显示我数据库中的所有数据>). 这是我的代码: tab1.java package com.example.major.awoo; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class Ta
2 2023-03-11
编程技术问答社区
如何从FragmentActivity更新ListFragment中的ListView?
我将片段范围内的列表与SimpleCursorAdapter和修改后的Cursorloader一起使用.修改后的Cursorloader简单地发出Rawqueries-没有其他更改. 在片段行为中的某个时刻,我需要recection/pragment的数据/光标. 我该怎么做? 非常感谢. 这是在列表段中调用方法的片段: public class ActivityList extends FragmentActivity { @Override protected void onActivityResult(final int requestCode, final int resultCode, final Intent intent) { ... processUpdateList(); } ... private void processUpdateList() {
使用片段时应用程序崩溃
我正在使用碎片和.. 我在我的代码中遇到了一个问题. logcat在我的一个片段中指向此代码: @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.activity_main, container, false); } 我的主要类(片段阶级): import android.app.Activity; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.Fragmen
将一个列表从片段中传递给一个类
我有一个片段,向用户呈现列表,因此我在类内部扩展了片段,两个类别:一个用于持有人,另一个用于适配器. public class ListFragment extends Fragment { Listmylist; //some stuff public class Holder extends RecyclerView.ViewHolder implements View.OnClickListener{ //some Stuff } //Another class public class NoteAdapter extends RecyclerView.Adapter{ //I put my list inside the adapter } } 我要做的是创建一个具有相同列表的小部件. 因此,我检查了此github,该github在一个窗口小部件中呈现listView: https://
0 2023-03-10
编程技术问答社区
谷歌地图V2安卓版错误 膨胀类片段错误
我正在使用Tab创建一个应用程序,并且在其中一个选项卡中有地图,当我打开地图工作正常时,当我访问其他时间时,它也可以正常工作,但是当我回到地图时标签应用程序与此错误崩溃. 04-09 14:10:43.866: E/AndroidRuntime(28184): android.view.InflateException: Binary XML file line #42: Error inflating class fragment 04-09 14:10:43.866: E/AndroidRuntime(28184): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:697) 04-09 14:10:43.866: E/AndroidRuntime(28184): at android.view.LayoutInflater.rInflate(LayoutInflater.jav
我怎样才能修改代码,从Android应用程序的片段中调用活动?
我想做的 我想调用片段的活动以同时在Android应用中同时实现片段和活动之间的两个过渡. 我已经成功地调用了片段文件的活动文件上的一种特定方法,但是我在从片段调用整个活动时遇到麻烦. 每个页面上的基本功能 SampleFragment - MainActivity's fragmentMethod() is called once the button is clicked on the page Sample1Fragment - FormActivity is called once the button is clicked on the page FormActivity - FormActivity2 is called once the button is clicked on the page 错误和问题 on Sample1Fragment.kt,我试图在下面的部分上调用整个表述. 但是,显示了错误消息,我不知道将其修复以调用整