我很努力地得到actionbarsherlock +标签+片段的工作。 我只能使这个设置为静态工作,我想创build这个像android市场应用程序(滑动运动)。 当你需要膨胀内部多片段的布局时,我会卡住。 在Support4demos中,我以FragmentsTabsPager为例。
我正在使用兼容性包来使用Android 2.2的Fragments。 当使用片段,并添加他们之间的转换到后台,我想实现一个activity的onResume相同的行为,即每当一个片段被带到“前景”(对用户可见)之后popupbackstack,我想要在片段中激活某种callback(例如,在共享的UI资源上执行某些更改)。 我看到片段框架内没有内置的callback。 为了达到这个目的,有没有好的做法?
我试图设置一个片段的主题。 在清单中设置主题不起作用: android:theme="@android:style/Theme.Holo.Light" 从以前的博客看,似乎我不得不使用ContextThemeWrapper。 任何人都可以参考我的代码示例? 我什么都找不到
在开发者控制台错误报告中,有时我会看到有NPE问题的报告。 我不明白我的代码有什么问题。 在模拟器上,我的设备应用程序没有强制closures,但是有些用户在调用getActivity()方法的时候会在fragment类中得到NullPointerException。 活动 pulic class MyActivity extends FragmentActivity{ private ViewPager pager; private TitlePageIndicator indicator; private TabsAdapter adapter; @Override public void onCreate(Bundle savedInstanceState) { pager = (ViewPager) findViewById(R.id.pager); indicator = (TitlePageIndicator) findViewById(R.id.indicator); adapter = new TabsAdapter(getSupportFragmentManager(), false); adapter.addFragment(new FirstFragment()); adapter.addFragment(new SecondFragment()); indicator.notifyDataSetChanged(); adapter.notifyDataSetChanged(); // push first task FirstTask firstTask = new FirstTask(MyActivity.this); // set first […]
使用v7首选项支持库中的新PreferenceFragmentCompat: http : //developer.android.com/tools/support-library/features.html#v7-preference ,我得到这个错误 E java.lang.IllegalStateException: Must specify preferenceTheme in theme E at android.support.v7.preference.PreferenceFragmentCompat.onCreate(PreferenceFragmentCompat.java:202) 应该设置什么主题? 更新:我曾尝试使用 <item name="preferenceTheme">@style/PreferenceThemeOverlay</item> 正如@Bogato所build议的那样,但是看起来不太合适,即使在棒棒糖上也看起来非常棒。 支持库: 原生偏好:
我有一个ViewPager与三个Fragments ,每个显示一个List (或Grid )。 在新的Android API level 17 (Jelly Bean 4.2)中,其中一个特性是嵌套片段 。 新的function描述说: 如果您使用ViewPager创build左右滑动并占用大部分屏幕空间的片段,则现在可以将片段插入到每个片段页面中。 所以,如果我理解正确的话,现在我可以在里面创build一个带Fragments的ViewPager (例如里面有一个button),当用户按下button显示另一个Fragment不会松动ViewPager使用这个新function。 我已经花了我的早晨试图实现这几种不同的方式,但我不能让它工作…有人可以添加一个简单的例子来说明如何实现这个? PS:我只对这样做有兴趣,用getChildFragmentManager来学习如何工作。
使用兼容性包使用Fragments来定位2.2。 重新编码一个活动在应用程序中使用片段后,我无法获得方向更改/状态pipe理工作,所以我创build了一个小的testing应用程序与一个单一的FragmentActivity和一个单一的片段。 来自方向更改的日志很奇怪,多个调用片段OnCreateView。 我很明显错过了一些东西 – 比如去分割片段并重新连接它,而不是创build一个新的实例,但是我看不到任何能够指明我要出错的文档。 任何人都可以阐明我在这里做错了什么请。 谢谢 方向更改后,日志如下所示。 Initial creation 12-04 11:57:15.808: D/FragmentTest.FragmentTestActivity(3143): onCreate 12-04 11:57:15.945: D/FragmentTest.FragmentOne(3143): OnCreateView 12-04 11:57:16.081: D/FragmentTest.FragmentOne(3143): OnCreateView->SavedInstanceState null Orientation Change 1 12-04 11:57:39.031: D/FragmentTest.FragmentOne(3143): onSaveInstanceState 12-04 11:57:39.031: D/FragmentTest.FragmentTestActivity(3143): onCreate 12-04 11:57:39.031: D/FragmentTest.FragmentOne(3143): OnCreateView 12-04 11:57:39.031: D/FragmentTest.FragmentOne(3143): OnCreateView->SavedInstanceState not null 12-04 11:57:39.031: D/FragmentTest.FragmentOne(3143): OnCreateView 12-04 11:57:39.167: D/FragmentTest.FragmentOne(3143): OnCreateView->SavedInstanceState null Orientation […]
最新信息: 我已经缩小了我的问题,因为fragmentManager保留旧片段的实例,而我的viewpager与我的FragmentManager不同步。 看到这个问题… http://code.google.com/p/android/issues/detail?id=19211#makechanges 。 我仍然不知道如何解决这个问题。 有什么build议么… 我试图debugging很长一段时间,任何帮助将不胜感激。 我正在使用FragmentPagerAdapter,它接受如下所示的片段列表: List<Fragment> fragments = new Vector<Fragment>(); fragments.add(Fragment.instantiate(this, Fragment1.class.getName())); … new PagerAdapter(getSupportFragmentManager(), fragments); 执行是标准的。 我正在使用ActionBarSherlock和v4可用性碎片库。 我的问题是,离开应用程序并打开其他几个应用程序并返回后,片段失去其参考回到FragmentActivity(即getActivity() == null )。 我无法弄清楚为什么会发生这种情况。 我试图手动设置setRetainInstance(true); 但是这并没有帮助。 我认为这发生在我的FragmentActivity被破坏时,但是如果我在得到日志消息之前打开应用程序,仍然会发生这种情况。 有什么想法吗? @Override protected void onDestroy(){ Log.w(TAG, "DESTROYDESTROYDESTROYDESTROYDESTROYDESTROYDESTROY"); super.onDestroy(); } 适配器: public class PagerAdapter extends FragmentPagerAdapter { private List<Fragment> fragments; public PagerAdapter(FragmentManager fm, List<Fragment> fragments) { […]
我做了custom notification并有一个button,我想执行两个不同的functionalities on notification and button click 。 我看了很多链接,但无法find添加button侦听器的方式。 任何人都可以帮忙 这是我的代码。 非常感谢。 private void startNotification() { Intent intent; PendingIntent pIntent; RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.mynotification); Context context = getApplicationContext(); NotificationCompat.Builder builder = new NotificationCompat.Builder( this).setSmallIcon(R.drawable.ic_launcher).setContent( remoteViews); if (hasFlash) { intent = new Intent(context, FlashLight.class); pIntent = PendingIntent.getActivity(context, 1, intent, 0); } else { intent […]
我将Android应用程序移植到了蜂窝中,为了使用碎片,我做了一个大的重构。 在我以前的版本中,当我按下主页button时,我用来执行ACTIVITY_CLEAR_TOP以重置回栈。 现在我的应用程序只是一个具有多个片段的Activity,所以当我按Homebutton时,只需要replace其中的一个片段即可。 我怎样才能清除我的背堆栈,而不必使用ACTIVITY_CLEAR_TOP标志的startActivity ?