Tag: android activity

协调员布局与工具栏在片段或活动

随着新的devise库,有几个新的布局,改变了很多,如果开发商愿意,工具栏的行为。 由于不同的片段具有不同的行为和目标,例如具有折叠工具栏的画廊片段显示重要的照片,或者没有滚动视图的片段不需要用于隐藏工具栏的appbarlayout,在活动中具有单个工具栏certificate困难。 所以,这个,我应该把工具栏移动到每个片段? 如果是这样的话,我必须在每次显示一个片段时设置supportActionBar,并且还要引用片段中的活动,从而使片段的独立性无效。 如果我单独将工具栏留在活动中,则必须为每个片段中的每种types的行为定义多个布局。 什么是最好的方法?

Androidclosures活动以编程方式

从屏幕导航的活动中的等效操作是什么? 就像当你按下后退button时,活动就会停止。 如何从一个活动内部调用它,使其自动closures。

意图 – 如果活动正在运行,把它放在前面,否则启动一个新的(从通知)

我的应用程序有通知,显然,没有任何标志,每次都会开始一个新的活动,所以我得到了多个相同的活动在彼此之上运行,这是错误的。 我希望它做的是将通知中指定的活动挂起来的意图,如果它已经在运行,否则启动它。 到目前为止,我有这个通知的意图/待决意图是 private static PendingIntent prepareIntent(Context context) { Intent intent = new Intent(context, MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); return PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); } 奇怪的是,它有时是有效的,有时候不会…我觉得我已经尝试了每一个标志的组合。

如何将Activity中的variables传递给Fragment,并将其传回?

我目前正在做一个Android应用程序,我想在活动和片段之间传递一个date。 我的活动有一个button,打开片段:DatePickerFragment。 在我的活动中,我显示了一个date,我想用这个片段修改。 所以我想把date传递给datepicker,然后把它发回给activity。 我已经尝试了很多解决scheme,但都没有工作。 简单的方法是通过一个论点,但这不能用碎片来完成。

Android兼容性包不包含Activity.getFragmentManager()

我开始尝试使用刚刚在3月3日发布的Android兼容包,将碎片添加到基于2.1的Android应用中。 我将库包括到了我的项目中,并开始将代码从基于Activity的类移动到基于Fragment的类,但是我注意到Google的Fragment示例似乎依赖于事件3.0(Honeycomb)有新的方法getFragmentManager()。 这似乎是整个Fragment系统的一个整体。 我已经尝试在兼容性包库中寻找包含getFragmentManager()的一些包含的Activity实现,但是我找不到它。 有谁知道我在哪里可以findgetFragmentManager(),所以我可以包括碎片的蜂窝兼容性,或者如果不知道如何可以包括碎片而不使用FragmentManager?

onActivityResult()提前调用

我从我的工作人员活动开始Activity ( PreferenceActivity后裔),如下所示: @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 1458) loadInfo(); } void showSettingsDialog() { startActivityForResult(new Intent().setClass(this, MyConfigure.class), 1458); } MyConfigure类没有任何setResult()调用。 事实上, MyConfigure类没有任何代码,除了使用addPreferencesFromResource加载首选项的OnCreate() 。 现在,在MyConfigure活动运行之后, onActivityResult会以1458 requestCode过早调用。 testing1.6和2.1仿真器以及2.1设备。 是否有一个调用setResult()埋在PreferenceActivity某处? 或者如何解释这个过早的呼叫?

在Android中启动服务

我想在某个活动开始时致电服务。 所以,这里的服务类: public class UpdaterServiceManager extends Service { private final int UPDATE_INTERVAL = 60 * 1000; private Timer timer = new Timer(); private static final int NOTIFICATION_EX = 1; private NotificationManager notificationManager; public UpdaterServiceManager() {} @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return null; } @Override public void onCreate() { // […]

通知点击:活动已经打开

我有一个应用程序通知,如果我点击它们打开某个活动。 我想要的是,如果我点击通知并且活动已经打开,那么它不会再次启动,而只是展现在前面。 我想我可以用FLAG_ACTIVITY_BROUGHT_TO_FRONT或FLAG_ACTIVITY_REORDER_TO_FRONT这个标记来做,但是它会一直打开它,所以我有两次这个活动。 这是我的代码: event_notification = new Notification(R.drawable.icon, mContext.getString(R.string.event_notif_message), System.currentTimeMillis()); Intent notificationIntent = new Intent(mContext, EventListActivity.class); notificationIntent.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT); sendNotification(event_notification, notificationIntent, mContext.getString(R.string.event_notif_title), body, Utils.PA_NOTIFICATIONS_ID); 我可以用标志来pipe理它,还是应该在SharedPreferences中存储一个variables来检查它是否被打开? 谢谢!

进一步了解setRetainInstance(true)

当你在一个Fragment上调用setRetainInstance(true)时究竟发生了什么? 文档几乎是不存在的,这似乎是一个非常重要的function。 具体而言,我想知道这个序列(我编造的)有多less是正确的: 用户旋转设备。 该片段与Activity分离,并调用Fragment.onDetach() 。 活动被破坏; Activity.onDestroy()被调用。 Activity java对象被删除(如果可能的话,由GC)。 一个新的Activity java对象被创build; 它的构造函数和onCreate()被调用。 在Activity.onCreate()我们要么有setContentView(…)来设置一个包含片段的布局,要么我们使用FragmentTransaction来添加一个片段。 我真的不知道这一点,但我认为Android智能足以find旧的片段,并调用Fragment.onAttach()重新附加到新的Activity 接下来(或之前?谁知道?) Activity.onResume()被调用。 那是对的吗? 即使我第一次显式地使用FragmentTransaction.add(new MyFragment(), …) ,Android是否足够聪明地find旧的片段? 如果是这样,我怎么避免在onCreate()添加另一个片段? 我需要做这样的事吗? if (getSupportFragmentManager().findFragmentByTag("foo") == null) { FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.add(new FooFragment(), "foo").commit(); } 为什么没有在文档中的这一点? 哈不,只是开玩笑,不要回答!

Android:如何检查活动是否正在运行?

有没有简单的方法来确定某个活动是否活动? 我想根据哪些活动是活跃的做某些事情。 例如: if(activityrunning == activity1) //do this else if (activityrunning == activity2) //do something else