Articles of android fragments

有没有办法通过Fragment设置android:windowSoftInputMode?

android:windowSoftInputMode通常设置在一个Activity上,但是我把所有东西都设置为一个Activity,切换到不同的片段来支持tab,我需要不同的软input模式。 我的实际问题是,adjustPan导致webviews中的文本视图被键盘覆盖,adjustResize正在调整我正在用于计算的视图的大小,我认为为每个片段设置不同的软input模式将是一个很好的解决方法。

为什么我的Facebook的Android SDKlogin调用两次?

我正在使用Facebook SDK,问题是FormSubmit函数运行了两次。 它是由onCreateView和statusCallback调用的getView函数调用的,如何解决? public class Home extends Fragment implements LoginListener { public View rootView; public ImageView HomeBg; public ImageView buttonLoginLogout; public TextView chi; public TextView eng; public ColorStateList oldColor; public SharedPreferences prefs; public EasyTracker tracker = null; //Facebook login private Session.StatusCallback statusCallback = new SessionStatusCallback(); @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { […]

Android Studio的默认“选项卡式活动”,如何通过片段刷卡?

完整的初学者在这里.. 我使用了“新build项目向导”中的“选项卡式活动”。 我试图让它通过3个不同的片段,然而我只是不知道在哪里告诉程序来做到这一点。 作为一个数组加载他们,如果是的话我应该怎么做,我如何实例化不同的片段? 任何指针和/或解决scheme非常赞赏。

SlidingTabLayout选项卡之间的通信

我已经search了很多关于如何使用SlidingTabLayout进行片段之间的通信,但并没有真正得到一个好的答案。 我知道使用ActionBar,但我想要的是使用SlidingTabLayout的android棒棒糖的新方法。 我试过这个 – > http://android-er.blogspot.in/2012/06/communication-between-fragments-in.html但我想要材料devise。 我提到这个链接http://www.android4devs.com/2015/01/how-to-make-material-design-sliding-tabs.html使材料devise滑动标签。 现在我想知道如何沟通滑动标签 。 我试了很多,但找不到我正在寻找的答案。 任何帮助将非常感激。

Intent构造函数的参数

Intent类有6个构造函数 意图() 创build一个空的意图。 意图(意图o) 复制构造函数。 意图(string行动) 用给定的动作创build一个意图。 意图(string行动,Uri uri) 用给定的动作和给定的数据url创build一个intent。 Intent(Context packageContext,Class cls) 为特定组件创build一个意图。 Intent(String action,Uri uri,Context packageContext,Class cls) 使用指定的操作和数据为特定组件创build一个意图。 我在android编程中几乎是新的,大多数时候使用第五个,当我需要启动另一个Activity或Fragment : Intent(Context packageContext, Class<?> cls) 当我想从一个Fragment开始一个Activity ,我这样做: Intent i = new Intent(getActivity(), DestinationActivity.class); 据我所知, getActivity()将返回一个Activity 但构造函数期望一个Context ,这怎么可能? 是否有可能因为getActivity()返回的Activity隐式调用getApplicationContext() ?

RecyclerView不滚动到底部

我遵循recyclerview的指导方针,并为我正在制作的应用程序构build一个,但由于某种原因它不滚动到底部。 我把它和谷歌代码片断以及其他在线代码片断进行了比较,看不出有什么不同。 我发布了一张图片和我正在使用的代码。 我使用的标签,因此recyclerview填充在一个片段。 该应用的外观如下所示: View post on imgur.com 适配器类: public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> { private List<Group> groups; // Provide a reference to the views for each data item // Complex data items may need more than one view per item, and // you provide access to all the views for a data item […]

是否可以禁止从父活动访问片段的布局(视图)?

我正在研究一个库,它将提供一些input字段的片段。 这些input字段将包含使用我的图书馆的应用程序不应该访问的用户的私人信息。 因此,edittexts或者我们可以说片段的布局不能从活动(findViewById,getChildAt ..)被连接到的地方访问。 对话框或其他活动的使用是不可接受的,这个片段应该被直接包含在活动的布局中。 这在Android中甚至可能吗? 我正在考虑dynamic地创build视图,并重写getChildAt等方法来阻止访问子视图,但在我开始“玩”这个问题之前,我宁愿在这里问一些意见。

NestedScrollViewLayout里面的SwipeRefreshLayout里面的RecyclerView不能滚动

我有一个活动与折叠工具栏和嵌套滚动视图与一个FrameLayout ,我把碎片放在里面。 最初,我把它放在一个CardView的FragmentA 。 很好用。 当我点击一个button,虽然我用另一个包含RecyclerViewreplaceFragmentB 。 当我添加FragmentB我不能滚动到列表的底部。 这个video显示了这个问题: LINK TO VIDEO 主机活动布局: <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="340dp" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" android:fitsSystemWindows="true"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_scrollFlags="scroll|exitUntilCollapsed|enterAlwaysCollapsed" android:fitsSystemWindows="true" app:contentScrim="?attr/colorPrimary" app:expandedTitleMarginStart="48dp" app:expandedTitleMarginEnd="64dp"> ……… …… </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="fill_vertical" android:fillViewport="true" app:layout_behavior="@string/appbar_scrolling_view_behavior" > <!– the layout which will be the content of the activity (which will be hosted inside […]

支持库从23.1.1升级到25.1.0后,popBackStack()行为会有所不同

从Android支持库23.1.1升级到最新的25.1.0 ,我们的应用程序中popBackStack()的行为发生了变化。 例如,我在BackStack上有三个FragmentTransactions 。 现在第四个FragmentTrsansaction被添加到BackStack。 FragmentTransactions是这样的: FragmentTransaction transaction = fragmentManager.beginTransaction() .replace(R.id.fragment_container_single, target, CoreActivity.FRAGMENT_TAG_LEFT) .addToBackStack(<CONCRETE_TRANSACTION_NAME>) .commit(); 片段#4具有逻辑,它在onViewCreated()期间自动路由到片段#5(我知道,这是丑陋的,我必须改变这一点)。 无论如何,当我想离开片段#5时,我想恢复到片段#4之前显示的片段。 我通过事务名称来做到这一点: getFragmentManager().popBackStack(“<CONCRETE_TRANSACTION_NAME_4>”, FragmentManager.POP_BACK_STACK_INCLUSIVE); 或这个: getFragmentManager().popBackStack(“<CONCRETE_TRANSACTION_NAME_3>”, 0); 但是通过这个调用,将调用片段#4的onCreateView()和onViewCreated() ,片段#5将被立即添加到BackStack。 即使我恢复到片段#1 onViewCreated()被称为每个片段BackStack – 片段#2,片段#3和片段#4,即使他们无关紧要的FragmentTransaction我想返回。 在支持库23.1.1我成功跳回到片段#3。 片段#4被popup而不调用onViewCreated() 。 这似乎更直观,对我来说是正确的,因为调用onViewCreated()的碎片“我的FragmentTransaction外”的碎片似乎是不必要的? 我知道, addToBackStack()只保存事务状态,而不是碎片本身,碎片可能不得不被重新创build。 有类似的post ,但我想明白为什么它支持库更新后中断。 我找不到任何地方的变化。 这是一个错误还是现在是一个错误? 我将继续改变我的代码。 感谢帮助! 更新升级到support-library 25.1.0后,我有更多的生命周期问题/更改。 有一个谷歌的问题 ,我额外评论我的问题。 目前我不得不回到最新的24.2.1,并关注这个话题。 这只是我的临时解决scheme。 这些问题从support-library 25.0.0开始。

瞄准api 21(Android 5.0)及更高版本时,片段与支持片段

Android仪表板显示只有一半的设备具有Android 5.0及更高版本,但数字看起来与我们的客户数据集有所不同 – 它超过了我们用户的93%。 所以我们决定放弃对Android版本低于5.0的设备的支持,并将minSdkVersion从15改为21。 此升级要求我们审查所有过时的function,并清理我们应用于支持旧版本的一些hacky解决方法。 我们现在可以应用的主要function之一是用android.app.Fragmentreplaceandroid.app.Fragment 。 这听起来是个好主意,特别是当我们知道片段API已被审查和改进 。 只是为了确保我会采取正确的道路和android.app.fragment不会让我感到惊讶我想从这个stackoverflow线程解释问题 – 是否使用来自支持库的片段,即使它们已经可用,何时为Android 5开发? 在Android 5.0及以上版本中发生的碎片API中是否存在任何错误,并在支持库中修复?