Tag: android fragments

如何更改片段内的视图?

我有一个片段,如你所期望的,在onCreateView里面创build它的视图。 不过,我想定期更改视图。 我的用例是该片段显示了来自Web服务的一些数据。 当用户从一个列表(另一个片段)中select一个选项时,这个片段应该切换到一个进度条,然后一旦加载,切换回数据视图。 我可以制作两个片段 – 加载片段和显示片段,但似乎由于这是一个封装事件,我宁愿在一个片段内部完成。 基本上我在问什么是一个片段内的setContentView equivilent。

片段不接收菜单callback

我有一个片段类,它扩展了Fragment并调用setHasOptionsMenu参与菜单。 这个类还实现了onCreateOptionsMenu , onPrepareOptionsMenu和onOptionsItemSelected 。 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setHasOptionsMenu(true); …. } 我dynamic加载这个片段使用FragmentTransaction在我的活动(扩展FragmentActivity )。 然而没有菜单callback( onCreateOptionsMenu , onPrepareOptionsMenu和onOptionsItemSelected )被调用(我debugging了这些方法中的一些断点),菜单不显示。 我错过了什么吗? 我需要在我的活动中添加一些内容吗? 我正在使用Android兼容性库,使用L11 SDK编译并在Xoom中进行testing。 编辑 :我发现了这个问题。 我的AndroidManifest是针对L11,这似乎隐藏菜单button,并阻止被调用的callback。 但是,如果我从清单中删除了这个,我就会丢失一些我需要的其他function(例如列表中的激活状态)。 有谁知道如何解决这个问题(启用菜单button),而无需从清单中删除targetSdkVersion=11 ?

onActivityResult中的操作和“错误无法在onSaveInstanceState之后执行此操作”

实现用户可以login的应用程序我有以下情况:如果用户login执行操作,否则请启动结果的login活动,如果结果是Activity.RESULT_OK,请执行操作。 我的问题是,perfom的动作是显示一个DialogFragment,但调用 DialogFragment newFragment = MyDialogFragment.newInstance(mStackLevel); newFragment.show(ft, "dialog") 在onActivityResultcallback中抛出一个exception: Caused by: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState 那我该如何解决呢? 我正在考虑在那里举起一面旗帜,并在onResume中显示对话框,但我看到这个解决scheme有点肮脏 编辑:添加更多的代码(我按照这个例子显示DialogFragment 当用户请求动作时: … if (!user.isLogged()){ startActivityForResult(new Intent(cnt, Login.class), REQUEST_LOGIN_FOR_COMMENT); } 在同一个片段 @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_LOGIN_FOR_COMMENT && resultCode == Activity.RESULT_OK) { FragmentTransaction […]

从片段pipe理器中移除旧的片段

我试图学习如何在android中使用Fragment 。 我试图删除旧的fragment当新的fragment在Android调用。

Android碎片(与2.3.3兼容包)创build“指定的孩子已经有一个父错误”

我正在使用兼容性包在我的Android应用程序中使用片段。 我已经在运行2.3.3和Google API 2.2仿真器的Nexus One上testing了应用程序。 通过布局XML添加片段时,效果很好(使用片段标签)。 当将片段dynamic添加到FrameLayout中时,它不会成功将片段添加到容器,并且会引发以下错误。 alStateException: The specified child already has a parent. You must call removeView() on the child's parent first 下面是完整的堆栈跟踪。 05-17 19:44:03.518: DEBUG/UNHANDLED_EXCEPTION(7735): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first. 05-17 19:44:03.518: DEBUG/UNHANDLED_EXCEPTION(7735): at android.view.ViewGroup.addViewInner(ViewGroup.java:1976) 05-17 19:44:03.518: DEBUG/UNHANDLED_EXCEPTION(7735): at android.view.ViewGroup.addView(ViewGroup.java:1871) […]

为什么onAttach在onCreate之前调用?

在片段的生命周期中,onAttach()方法在onCreate()方法之前被调用。 我无法把头绕在这里。 你为什么要先附上片段?

Bauerca drag-sort-listview简单的例子

Bauerca drag-sort-listview是一个惊人的图书馆拖动function在列表视图.. https://github.com/bauerca/drag-sort-listview 但我的问题是演示项目是非常复杂的,我不能跟踪它包括在我的项目中的function.. 任何简单的例子,将不胜感激.. 例如,我只需要一个屏幕,这个自定义列表包含三个项目。或者任何其他简单的例子.. 谢谢

DialogFragment优于AlertDialog

在开发Android应用程序时,我已经读过build议使用DialogFragment而不是直接使用AlertDialog来显示警报和确认。 例如,在DialogFragment的文档上完成这个工作: http : //developer.android.com/reference/android/app/DialogFragment.html 人们也说他们更喜欢这里: Android的DialogFragment与对话框 我想知道这种方法的优点,因为代码变得更复杂。 谢谢

非弃用的findPreference()方法? – Android

我想检测一个ListView包含的Preference何时被点击,以便我可以启动一个意图来pipe理这个select。 我会在我的布局XML文件中这样做: <Preference android:title="About" android:key="myKey"></Preference> 并在我的java代码如下: Preference myPref = (Preference) findPreference("myKey"); myPref.setOnPreferenceClickListener(new OnPreferenceClickListener() { public boolean onPreferenceClick(Preference preference) { //open browser or intent here } }); 但是,不推荐使用public Preference findPreference (CharSequence key) 。 是否有一个不赞成的等价物? 如果不是的话,如果我用它呢? Fragments如何帮助我以更好的方式完成我的任务?Chek here: 没有弃用方法的首选项 。 在这里,您可以检查我的活动所具有的XML布局结构以及应用程序的快照: XML: <?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" > <Preference android:key="about" android:title="@string/titleAbout" android:summary="@string/summaryAbout" /> <Preference android:key="labelTaxonomy" android:title="@string/titleLabelTaxonomy" android:summary="@string/summaryLabelTaxonomy" […]

当用户旋转手机并保留ArrayAdapter中的所有数据时,保留列表视图项的好scheme

我使用listView的片段。 我通过自定义加载程序(从Internet)接收的数据填充与此列表视图关联的ArrayAdapter。 自定义ArrayAdapter支持无限滚动(分页)。 当用户旋转设备并在ListView中保持滚动位置时,在ArrayAdapter中存储项目的最佳方式是什么? 我正在考虑用ArrayAdapter创build非可视化片段,并使用setRetainInstance方法来保存值。 任何build议更好的解决scheme?