Articles of android fragments

Android无法保留嵌套在其他片段中的片段

我的应用程序有问题,我尝试在另一个片段中添加三个片段 ,然后Eclipse显示: java.lang.IllegalStateException:无法保留嵌套在其他片段中的fragements 这是我在childFragments中的代码 getChildFragmentManager().beginTransaction() .add(R.id.shop_fragment_container, shopTopOneFragment) .add(R.id.shop_fragment_container, shopTopTwoFragment) .add(R.id.shop_fragment_container, shopTopThreeFragment) .hide(shopTopTwoFragment).hide(shopTopThreeFragment) .show(shopTopOneFragment).commit(); 任何帮助将不胜感激

如果minsdk为14,我应该使用AppCompat v7吗?

如果我的应用有minSdk = 14,我还应该使用app compat v7吗? Android L中的ActionBar有什么优势吗? 我应该从支持v4使用android.support.v4.app.FragmentActivity还是应该使用android.app.Activity类(自蜂窝以来支持片段)? 我还应该使用android.app.Fragment还是android.support.v4.app.Fragment? 我想我应该使用支持v4 FragmentActivity和Fragment,但是不需要app compat v7,对吧? 你怎么看?

Android 3 – 将片段添加到LinearLayout:fill_parent不起作用

我试图以编程方式将片段添加到LinearLayout,但片段不会在整个布局高度上拉伸其内容。 它的作用类似于wrap_content而不是fill_parent。 另一方面,fill_parent用于片段的宽度。 我该如何改变这种行为? DashboardActivity: 它的onCreate方法: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_dashboard); //– Instantiate Fragmentstuff FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); ActivitystreamFragment asf = new ActivitystreamFragment(); fragmentTransaction.add(R.id.rightfrag, asf); fragmentTransaction.commit(); } ActivitystreamFragment XML: 它的createView: public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View root = inflater.inflate(R.layout.fragment_activitystream, null); return root; }

碎片尚未附加?

以下是我的代码。 我想要实现的是我在Recycler视图中显示viewholder。 内部视图寻呼机我正在显示一个片段,在向左滑动时,我正在显示另一个片段。 但是当我运行应用程序时。 应用程序崩溃。不知道我哪里出错了。 我认为这是片段概念的一部分。 请帮帮我 @Override public void onBindViewHolder(ManageCustomerViewHolder holder, int position) { holder.viewPager.setAdapter(new MyPageAdapter(fragmentManager, fragments)); } private List getFragments() { List fList = new ArrayList(); fList.add(MyFragment.newInstance(“Fragment 1”)); fList.add(Myfragment1.newInstance(“Fragment 2”)); return fList; } public class ManageCustomerViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { ViewPager viewPager; viewPager = (ViewPager) itemView.findViewById(R.id.viewpager); itemView.setOnClickListener(this); } 这就是错误: java.lang.IllegalStateException:片段尚未附加。

DialogFragment中的工具栏

在我们的应用程序中,我们有一些片段可以显示为全屏片段或对话框片段。 这些片段inheritance自DialogFragment ,我们确保根据应用程序执行的模式(全屏或对话框)正确实例化它们。 在使用Lollipop在支持库中引入Toolbar小部件的最新更改之后,我们考虑为其中一些对话框片段添加一些额外的function。 我们的想法是在我们的DialogFragment子类中存在普通片段(即onCreateOptionsMenu执行后膨胀的选项菜单)时通常具有的选项菜单types,当它们可视化为对话框时。 简而言之:当片段以全屏模式显示时,我们会对传统的选项菜单进行充气,当片段显示为对话框时,我们希望使用相同的选项菜单,但在独立模式下使用新的工具栏小部件。 我按照http://android-developers.blogspot.dk/2014/10/appcompat-v21-material-design-for-pre.html中的步骤操作,我设法“激活”工具栏,但似乎菜单是没有膨胀 – 参见附件截图(在全屏模式下图片一个片段,在对话框模式下图片二)。 甚至可以使用DialogFragment的新工具栏来DialogFragment选项菜单吗?

从下一个屏幕返回时,ViewPager数据丢失

我在我的应用程序中使用ViewPager,其中有三个选项卡; 我在片段中使用ViewPager。 现在我的问题是,我在加载应用程序时正确获取数据,但是当我进入下一页然后返回ViewPager时,数据丢失且标签不起作用。 请帮助我 以下是我的代码: import com.devpoint.rprtjobs.R; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentTabHost; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.support.v7.app.ActionBarActivity; import android.support.v7.widget.Toolbar; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.support.design.widget.TabLayout; public class MainActivity extends Fragment { // Declaring Your View and Variables Toolbar toolbar; ViewPager pager; SwipeViewPagerAdapter adapter; SlidingTabLayout tabs; CharSequence Titles[]={“OnGoing”,”UpComing”,”Expired”}; […]

Android:Fragments,SQLite和Loaders

所以我已经到了需要为我的应用程序实现SQLite数据库的地步。 在“忙碌的编码器Android开发指南”之后,我创建了一个扩展SQLiteOpenHelper的DatabaseHelper类。 我的一个用例是对数据库运行查询并在Fragment的ListView上显示结果(我使用支持库中的片段)。 根据我的理解,使用managedQuery()并不合适,即使它是不推荐的,因为这个方法中封装的一些逻辑实际上是在主线程上执行的,特别是reQuery()我的理解是在重新启动Activity时执行的。 所以我第一次尝试熟悉Loader类,只看到这个: “The only supplied concrete implementation of a Loader is CursorLoader, and that is only for use with a ContentProvider” 我最初的想法是实现我自己的内容提供商,并可能阻止其他应用程序访问它,然后我通过developer.android.com在ContentProvider文档中阅读以下内容: “You don’t need a provider to use an SQLite database if the use is entirely within your own application.” 我也一直在玩这个: https://github.com/commonsguy/cwac-loaderex 但我不熟悉这个项目,也不确定它是否可以在生产环境中使用。 所以,现在我能想到的就是在我的Fragment创建一堆AsyncTask实例并适当地管理它们的生命周期,确保它们在需要时被取消等等。 还有其他选择吗?

使用导航抽屉处理片段后栈

我正在实施导航抽屉,效果很好。 所以我在导航抽屉点击上调用片段,它也正在工作,而且我正在调用主页片段中的另一个片段,并为每个片段维护后台堆栈,但问题是从子片段重新按下我不能去主页片段,刚退出应用程序。 我不想要这个。 我想要的点击 Navigation Drawer->HomePageFragment->AnotherChild Fragment(On List Item click of HomePageFragment) 但是在没有进入Homepage片段的情况下按下它直接退出应用程序。 这是我的代码:( (In Fragment Activity with Navigation Drawer) class SlideitemListener implements ListView.OnItemClickListener { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { updateDisplay(position); } } private void updateDisplay(int position) { Fragment fragment = null; switch (position) { case 0: fragment […]

Android – Google Maps API v2 – SupportMapFragment错误

我试图首次使用Google Maps API v2重新启动并运行我的某个应用程序。 我在我的密钥库中为我的应用程序创建了一个密钥,提取了SHA1哈希,获取了一个API密钥,然后在应用程序中执行了以下操作…我包括: 谷歌播放,services.jar 以及导入GooglePlayServices库并将其添加为项目的参考。 在我的Java代码中,我只是加载布局资源。 public class Times extends Activity{ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.map); } } 在我试图实例化的布局(res / layout / map.xml)中,我有: 我的清单中还声明了以下内容: 并在清单的Application标签中声明: 加载活动时,它会在LogCat中崩溃并出现以下错误: FATAL EXCEPTION: main java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source) 我试图研究这个问题,但是我无法find我想要的东西。 非常感谢任何和所有的帮助。

测量片段中的视图

我需要知道ImageView的宽度和高度。 有没有办法在片段中测量它? 在标准Activity中我使用: @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); image.getWidth(); image.getHeight(); } 但我在哪里可以使用image.getWidth(); 和image.getHeight(); 片段?