Articles of android fragments

LoaderManager的范围是什么?

在LoaderManager中识别装载程序时,使用唯一ID。 我问的是这些ID有多独特。 每个活动和片段都有自己的LoaderManager吗? 片段是否使用它们所附加的Activity的LoaderManager? 应用程序是否只拥有一个LoaderManager? 如果您能告诉我如何更改您正在使用的LoaderManager,可以获得奖励积分。 如果我希望我的Activity中的每个片段都使用相同的LoaderManager(其中一些是拉相同的数据并且共享Loaders会很好),那可能吗?

Butterknife 8.4.0在重新运行应用程序后找不到视图。 它得到一个NullPointerException

在Android Studio Butterknife.bind(this)中重新运行应用程序后,再也找不到视图了。 到目前为止,我find的唯一可靠解决方案是Cleaning/Rebuilding Project并再次运行。 然后它再次查找视图,直到下次重新运行。 到目前为止,这令人非常恼火,重建至少需要两分钟。 我有以下build.gradle android { compileSdkVersion 24 buildToolsVersion “25.0.0” defaultConfig { applicationId “xx” minSdkVersion 21 targetSdkVersion 24 versionCode x versionName “xxx” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” jackOptions { enabled true } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } packagingOptions { exclude ‘META-INF/NOTICE’ exclude ‘META-INF/LICENSE’ } compileOptions { sourceCompatibility […]

从backstackpopup时不会调用片段的onResume()

嗨,我正在开发我正在使用的Android应用程序我正在使用单个Activity和3个片段。 所以考虑我有3个片段AB C.当我从A切换到B时,我将Fragment添加到backstack并且将B和C添加到C.现在当我从C点击它时它向我显示B和类似的B到A. 但事实是,当我从C到B或B到A时,它不会调用onResume()或Fragment任何其他生命周期方法。 我想为每个Fragment做什么我在ActionBar有不同的标题。 所以,在我的代码中,当我从A移动到B或B到c时,我正在更改片段内的活动标题。 但是,当我点击它时它不会改变。 实际问题是什么? 为什么在从backstackpopup后它没有为我的Fragment调用onResume() ? 我该如何解决这个问题? 需要帮忙。 谢谢。

RuntimeException:填充类片段时出错

我正在使用以下代码获取runtimeException,有人知道为什么吗? public class FragsApplicationActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } } SuggestionFrags类 public class SuggestionFrags extends Fragment{ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub return super.onCreateView(inflater, container, savedInstanceState); } } main.xml中 我得到这个例外: […]

片段作为Android中的单身人士

一般问题我可以将碎片定义为单身人士吗? 具体问题在我的应用程序中,我有一个’FragmentActivity’和FragmentPager ,它有两个片段, FragmentA和FragmentB 。 我将片段定义为FragmentA Singletons扩展Fragment类: private static instance = null; public static FragmentA getInstance() { if (instance == null) { instance = new FragmentA(); } return instance; } private FragmentA() {} 在我的FragmentPagerAdapter : @Override public Fragment getItem(int position) { switch(position){ Fragment fragment = null; case 0: fragment = FragmentA.getInstance(); break; case 1: fragment […]

碎片活动在屏幕旋转时崩溃

我有一个简单的片段活动。 在onCreate()方法中,我只是添加一个片段。 代码发布在下面。 但是,每次旋转屏幕时,系统都会再次调用onCreate(),然后在super.onCreate()语句中崩溃; 我想这是一个普通的Android片段问题。 有人可以帮我吗? public class FragActivity extends FragmentActivity { @Override public void onCreate(Bundle savedState){ super.onCreate(savedState); MyFragment frag = new MyFragment(); getSupportFragmentManager().beginTransaction().replace(android.R.id.content, frag) .commit(); } } 堆栈跟踪附加: java.lang.RuntimeException:无法启动活动ComponentInfo {}:android.support.v4.app.Fragment $ InstantiationException:无法实例化片段:确保类名存在,是公共的,并且具有公共的空构造函数

如何从RecyclerView.Adapter 打开片段

1.TabLayout – tab1 (Fragment1) – tab2 (Fragment2) – tab3 (Fragment3) * RecyclerView + CardView (OnClick) 在CardView ClickListner上打开tab3中的另一个片段。 那么如何在tab3中打开片段。 错误在getFragmentManager() : FragmentTransaction transaction = getFragmentManager().beginTransaction(); 而不是这个,我试过: FragmentTransaction transaction = activity.getFragmentManager().beginTransaction(); FragmentTransaction transaction = itemview.getContext().getFragmentManager().beginTransaction(); 但错误并未解决。 这是我的代码: public class CardAdapter extends RecyclerView.Adapter { List mItems; private int lastPosition = -1; Context context; TaskFragment main; public CardAdapter(Context context,TaskFragment […]

嵌套片段和后栈

Back Stack是否支持与Android中嵌套片段的交互? 如果是的话,我做错了什么? 在我的实现中,后退按钮完全忽略了我将此事务添加到后台堆栈的事实。 我希望这不是因为嵌套片段的问题,而是我做错了什么。 以下代码位于我的一个片段中,用于将新片段与当前显示的任何嵌套片段交换: MyFragment fragment = new MyFragment(); FragmentTransaction ft = getChildFragmentManager().beginTransaction(); ft.setCustomAnimations(R.animator.slide_in_from_right, R.animator.slide_out_left, R.animator.slide_in_from_left, R.animator.slide_out_right); ft.addToBackStack(null); ft.replace(R.id.myFragmentHolder, fragment); ft.commit();

Android:嵌套片段的父片段

来自嵌套片段的getParentFragment()返回null 。 我意识到获取null意味着片段附加到活动而不是嵌套容器片段。 但是我使用子FragmentManager显式地将子片段嵌套在父片段中,因此认为我不应该得到null 。 你能告诉我我错过了什么吗? 父片段 public class UsageBreakUp extends Fragment implements Filter.OnFragmentInteractionListener { …. @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); getChildFragmentManager().beginTransaction().add(R.id.filter, new Filter()).commit(); } … } 儿童片段 public class Filter extends Fragment { … public Filter() { if (getParentFragment() == null) Log.d(LOG_TAG, “parent fragment is null”); } … […]

检测片段中的滑动手势

嗨,我已经实现了Fragment ,我想检测片段上的触摸事件。 但是我无法检测到该事件,事实上,根本没有检测到任何事件。 它在Activity运行良好,但它不适用于片段。 以下是我的代码: public class Swipe_Fragment extends Fragment implements GestureDetector.OnGestureListener, GestureDetector.OnDoubleTapListener { private SimpleGestureFilter detector; private LinearLayout swipLinear; private static int DEFAULT = 50; private int brightness; private GestureDetectorCompat mDetector; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.swipe_screen, container, false); swipLinear = (LinearLayout) rootView.findViewById(R.id.swipLinear); brightness = DEFAULT; […]