Articles of android fragments

带有标签的Android Actionbar Sherlock

我正在尝试使用下面的Tabs实现ActionBar Sherlock,如上面的线框所示。 我应该使用TabActivity吗? – 因为我看到它被弃用了。 这是实现同样目标的最佳方式。

单击按钮,滑动到下一个片段

这是我的代码: FirstView.java import android.content.Intent; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; public class FirstView extends Fragment { private TextView firstText; private Button btn; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_view1,container,false); firstText = (TextView)view.findViewById(R.id.viewOneText); btn = (Button)view.findViewById(R.id.viewOneBtn); btn.setOnClickListener(new ButtonEvent()); return view; […]

首次运行时在ViewPager中预加载片段的视图

我正在使用包含3个片段的ViewPager,每个片段都会加载一个列表。 问题是当应用程序第一次运行并且我滑动到下一个片段时,此片段需要一段时间才能加载(大约2秒),然后才能看到它的视图。 这是一种非常奇怪的行为。 我想要的只是应用程序启动后,ViewPager中的所有片段都应该为用户准备好了,所以当他们浏览片段时,没有等待时间。 我怎样才能做到这一点?

我为什么要在Android中使用片段?

很长一段时间,我认为如果我只为Android Phone开发应用程序而不是10.1那么在Android中使用片段的原因是什么。 是否有必要使用片段? 另外,片段的用法是什么,我发现它可以用于’tab’和’separate view’…… 我真的觉得这很混乱。 任何人都可以简单解释一下吗?

Fragment中的onCreate()和onCreateView()生命周期方法有什么不同?

我不知道何时使用onCreate()或onCreateView() 。 我使用了onCreate()和onCreateView()生命周期方法。 我认为onCreate()用于Activity,而onCreateView()用于Fragment。 但我不确定。 我可以在Fragment中使用onCreate() LifeCycle方法吗? 我希望有人可以帮助我!

如何从片段中的onActivityResult获取结果?

我已经在每个项目中使用了Navigation drawer点击我已经调用了Fragments因此在一个项目中我已经在这个片段中调用了一个Fragment ,我需要从相机获取图片并将其设置为canvas background 。 在这里我捕获了相机图片,但不知道如何在拍摄后获得这张照片并将其设置为canvas背景。 片段代码 import android.content.ContentValues; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.os.Environment; import android.provider.MediaStore; import android.support.v4.app.Fragment; import android.util.DisplayMetrics; import android.util.Log; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.ImageButton; import android.widget.LinearLayout; import android.widget.Toast; […]

在哪里检查android片段中的方向更改

在我的应用程序中,除了一个特定的Fragment外,我还有一个FragmentActivity其中包含多个Fragment所有Fragment都处于纵向模式。 我通过Fragment的页脚View在Fragment s之间移动。 当有方向改变时,我有一个不同的布局(实际上具有相同的名称但不同的小部件View s)。 在横向模式下,我想从Fragment布局View和Fragment的页脚View中删除特定的小部件,当回到纵向时,将所有内容添加回来。 我已经在Fragment中的onSavedInstanceState()中保存了我需要的所有数据,但是我应该在哪里测试方向更改,以便我可以适当地恢复View ? 不确定我可以覆盖onConfigurationChange()并在我的Fragment测试,因为我的android Manifest没有android:configChanges =“orientation” 。

如何管理PreferenceFragment中的分隔符?

我开始处理PreferenceFragment中的PreferenceFragment 。 这就是我所拥有的: 我试图: 摆脱物品之间的分隔物。 我想这可以从样式中定义,但我无法弄清楚如何。 我尝试在运行时调用findViewById(android.R.id.list)获取首选项ListView ,因为我在某处读取,但它返回null。 如图所示,在标题顶部设置新的全宽分隔线。 例如,在这种情况下,我想在“Statistiche”上方的全宽度分隔符,但不在列表顶部的“Generali”之上。 我想到的唯一方法是将分隔线设置为假偏好,例如: 这里的主要问题是我的PreferenceFragment (或它所在的ActionBarActivity )有一些左/右填充,这使得我添加到preferences.xml中的任何分隔符都不会覆盖整个宽度。 所以我的问题是: 如何摆脱图片中可以看到的默认项目分项? 如何在标题上方设置全宽分隔符,或者如何摆脱内部片段/活动填充? 当然,我的活动布局没有任何(显式)填充。

使用片段更改ActionBar标题

首先让我解释一下,所以你们可以更好地理解我的问题: 我正在使用actionbar。 我有一个片段调用collections夹,我将一些联系人保存为collections夹。 当您点击一个联系人时,它会将我带到另一个片段,并将联系人号码放在editText上。 新片段是呼叫转移。 所以我的问题是,当用户点击将我带到另一个片段的联系人,但操作栏上的标题仍然是最喜欢的标题而不是新标题时,我如何才能实现更改标题? 我已经尝试在click方法上使用setTitle但仍然无法正常工作。 非常感谢! 对不起,我的英语不好!

Android Fragment Back Stack

我在我的项目中使用了多个片段。 我想保存Fragment的状态,并在我回到此状态时恢复此状态。 在这个片段中,我显示了多个图像,这些图像在按钮点击时发生 我使用以下代码: String backStateName = fragment.getClass().getName(); FragmentManager fragmentManager = getSupportFragmentManager(); boolean fragmentPopped = fragmentManager.popBackStackImmediate(backStateName, 0); if (!fragmentPopped) { FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.replace(R.id.container_body, fragment); fragmentTransaction.addToBackStack(backStateName); fragmentTransaction.commit(); } 它工作正常并保存状态,但它不显示以前的图像。 任何帮助,建议或教程将受到高度赞赏。 谢谢。