- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个服务
,用于将 View 添加到WindowManager
。这个想法是拥有类似 Facebook 聊天头的东西。因此,即使我的应用程序不在前台运行, View 也将始终存在。
我需要添加到 WindowManager
的 view
应该有三个选项卡。为此,我正在使用 TabLayout
和 ViewPager
View 的xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:theme="@style/AppTheme.NoActionBar"
android:layout_margin="20dp"
android:background="#ff0000"
android:layout_height="match_parent">
<android.support.design.widget.TabLayout
android:id="@+id/debugger_tablayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabGravity="center"
app:tabMode="scrollable"/>
<android.support.v4.view.ViewPager
android:id="@+id/debugger_pager"
android:layout_width="match_parent"
android:layout_height="0dp"></android.support.v4.view.ViewPager>
</LinearLayout>
在我的服务中,我在 onStartCommand()
方法中扩充 xml 文件,如下所示。
@Override
public int onStartCommand(Intent intent, int flag, int startId) {
windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT, 200,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD,
PixelFormat.TRANSLUCENT);
LayoutInflater layoutInflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
debuggerView = (LinearLayout) layoutInflater.inflate(R.layout.debugger_main, null);
debuggerViewPager = (ViewPager) debuggerView.findViewById(R.id.debugger_pager);
//Facing problem at this line. How to access getFragmentManager() function here ?
DebuggerPagerAdapter adapter = new DebuggerPagerAdapter();
debuggerViewPager.setAdapter(adapter);
debuggerViewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(
debuggerTabLayout));
windowManager.addView(debuggerView, params);
}
现在在下面的代码行中,DebuggerPagerAdapter
接受 FragmentManager
作为其构造函数的参数。如果下面这行写在 Activity 中,那么我可以简单地取消 new DebuggerPagerAdapter(getFragmentManager())
,但不确定如何在服务中执行此操作?
DebuggerPagerAdapter adapter = new DebuggerPagerAdapter();
DebuggerPagerAdapter 的代码
public class DebuggerPagerAdapter extends FragmentPagerAdapter {
public DebuggerPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position){
case 0:
return MemoryFragment.getInstance();
case 1:
return NetworkFragment.getInstance();
case 2:
return CpuFragment.getInstance();
}
return null;
}
@Override
public int getCount() {
return 3;
}
}
TIA。
最佳答案
fragment 只存在于 Activity 中,不存在于其他地方。您将需要创建自己的不使用 fragment 的 PagerAdapter
实现。
关于android - 如何在服务中访问 getFragmentManager() 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35368048/
我真的把这两种组合搞混了 getActivity().getFragmentManager() 和 fragment.getFragmentManager() 好像我们看到了 Activity.jav
收到 androidx.fragment.app.Fragment 的弃用警告: warning: [deprecation] getFragmentManager() in Fragment has
我正在使用 this tutorial为应用程序创建滑动菜单,但在以下几行中出现错误,我无法解决: getFragmentManager(); getActionBar(); 将AppCompat添加
我有一个自定义对话框, public class DialogBoxLogInPop extends DialogBox implements View.OnClickListener { //...
我的 getFragmentManager 函数 setUpMapIfNeeded() 返回空指针异常。我将 fragment 与 activity_main.xml 分开放置,这里是我的代码: ac
如何在静态内部类中获取 getFragmentManager() 方法? 为什么?我正在尝试解决我的应用程序的旋转问题,到目前为止,似乎内部类必须是静态的才能使问题消失,但是当内部类是静态的时,我无法
我的应用以 API 8 及更高版本为目标并使用 ActionbarSherlock。 Activity 扩展了 SherlockFragmentActivity。我的 viewpager fragme
我有一个服务,用于将 View 添加到WindowManager。这个想法是拥有类似 Facebook 聊天头的东西。因此,即使我的应用程序不在前台运行, View 也将始终存在。 我需要添加到 Wi
我有两个 fragment 并将它们设置如下 fram1 = new FragMent1(); fragMentTra.addToBackStack(null); fragMentTra = getF
我正在开发一个包含很多 fragment 的 Android 应用程序。但是我在它们之间切换时遇到了问题。 假设我有一个 fragment A,现在我想转到 fragment B,为此我这样做 --
我正在尝试使用 Google API 在 android 中实现 Google Map,但出现错误 The method getFragmentManager() is undefined for t
因为我一直在使用我的代码,所以我使用了 fragment 。 为此,我有一个 Activity 通过标签使用 fragment 调用 fragment : FluxListFragment FLF =
编辑:问题是 fragment 正从 Activity 中分离出来。但是,我不知道如何防止这种情况。 我有一个使用标签栏的应用程序。单击其中一个选项卡时,它会在选项卡栏下方的空间中加载一个主题列表。其
我开始尝试使用 3 月 3 日刚刚发布的 Android 兼容性包向我的基于 2.1 的 Android 应用添加 fragment 。我将该库包含到我的项目中,并开始将代码从基于 Activity
测试 android.preference.PreferenceActivity 时,我收到以下警告: warning: [deprecation] getFragmentManager() in A
我有一个类在我的 Android 应用程序中处理数据库。当数据库更改时,我想更新显示 fragment 信息的 fragment 。我的方法是给 fragment 一个标签,然后使用以下代码找到 fr
我刚刚将一个 Android 项目迁移到 gradle。迁移前一切正常。我有相同的布局文件。我的仓库在这里: https://github.com/jackygrahamez/MayDay/tree/
我有一个导航 fragment 和一个内容 fragment 。我希望能够传递一个包,并根据 fragment 交互重新加载 fragment 。我见过有人说使用 .setArguments(),但它
我正在尝试启动包含在我项目本地库模块中的 DialogFragment。我调用它的类正在使用 Kotlin 并且我在函数 getFragmentManager() 上收到以下错误:以下函数都不能使用提
我正在开发一个 android 应用程序,每个选项卡中都有 TabHost 和 FragmentActivity。 在我的第一个选项卡中,我使用 ViewPager 指示器和按钮初始化 fragmen
我是一名优秀的程序员,十分优秀!