Articles of android activity

如何将两个Android活动绑定到一个服务?

我想问一些例子,其中两个不同的活动(第一个活动中的按钮打开第二个活动),正在与一个服务(AIDL等)进行通信我尝试了很多不同的教程,但它们只是关于如何制作一项活动 – >一项服务。

在Intent中传递Object引用,而不实现Serializable或Parcelable

我知道有多次问过类似的问题。 我想我读了大部分内容。 但没有一个答案是适用的。 我需要通过Intents(活动调用/广播)传递复杂的对象。 一切都在我的过程中完成。 这就是为什么我认为没有理由将我的对象写入Streams只是为了在几毫秒之后重新组装它们。 我想通过我的应用程序传递我的对象引用。 有没有办法做到这一点。 由于我的应用程序将连续多次广播相同的事件,因此我不能依赖静态成员。 我需要为我播放的内容提供相同的对象。 这就是为什么我在考虑一个静态的“Referenceholder”,它将接受一个Object并返回一个整数,在它的内部列表中标识这个对象,所以我可以通过.putExtras传递这个整数。 但据我所知,Java在添加之后无法从此列表中清除此Object,因为多个Listener可以在同一个对象中进行interess,并且我必须将它保留在我的Referenceholder中(假设一个线程)可以在任何时间恢复 – 甚至2分钟后)。 有任何想法吗? 难道我做错了什么? 或者任何关于如何清理我的引用的想法(可能在几秒钟之后?这可能会导致崩溃,但它似乎比编写无代理地组装和重新组装我的对象的代码更合适)

ListFragment与ListActivity – 使用哪一个?

有人能告诉我应该使用哪一个? 我的意思是“最佳实践”。 谢谢。

至于父活动 – 在Android上

在我的应用程序中收到通知后,单击它会打开活动B.活动B有一个父活动A.这是清单: 在活动BI中启用了向上function(活动操作栏图标旁边的左箭头),这里是代码: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getActionBar().setDisplayHomeAsUpEnabled(true); … 问题是,如果通过单击通知打开活动B(活动A不是带来活动B的活动),则单击图标时应用程序将关闭。 我想打开它的父母活动,A。有可能吗? 或者我应该从活动B的startActivity()做到这一点? 更新1-我已添加此代码: @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: Intent upIntent = NavUtils.getParentActivityIntent(this); if (NavUtils.shouldUpRecreateTask(this, upIntent)) { TaskStackBuilder.create(this) .addNextIntentWithParentStack(upIntent) .startActivities(); } else { NavUtils.navigateUpTo(this, upIntent); } return true; 谢谢

菜单排序由于片段和活动层次结构而产生的差异。 (onCreateOptionsMenu)

背景 为Android 3.0开发,我有一个HostActivity ,它是NotebooksActivity和NoteActivity的超类。 NotebooksActivity包含一个片段, NotebooksFragment 。 在HostActivity ,我包含一个菜单,我想在ActionBar的选项菜单的最右端显示, 即HostActivity子类中的所有菜单项应该出现在HostActivity添加的菜单项的HostActivity 。 HostActivity菜单通胀: @Override public boolean onCreateOptionsMenu(Menu menu) { final MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.host_menu, menu); return super.onCreateOptionsMenu(menu); } 问题 当我在NoteActivity添加菜单项时,我按预期实现了所需的顺序: @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.notebook_menu, menu); return super.onCreateOptionsMenu(menu); } 但是,当我在NotebooksFragment添加菜单项时,由于Fragments的工作原理,在HostActivity使用相同的方法调用onCreateOptionsMenu , 导致HostActivity的菜单项出现在NotebooksFragment之前。 @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) […]

使用“向上”按钮在Android中恢复状态

我使用onSaveInstanceState()来存储ArrayList成员variables并在主活动的onCreate()方法中恢复它。 这适用于大多数情况,例如旋转屏幕等但如果我打开一个新活动并使用“向上”按钮(而不是后退按钮)导航回主屏幕,它似乎创建一个新的主要活动而不通过onCreate() state bundle。 我已经确认当按下向上按钮时,为主活动的原始实例调用onDestroy()方法,这对我来说没有任何意义,因为我希望它恢复现有活动,就像我按下后退按钮而不是创造一个新的。 有没有办法可以强制新活动恢复旧活动或只恢复现有活动?

我可以在Fragment中注册MVP Presenter吗?

我一直在关注Google提供的MVP设计模式来重构我的应用程序。 我有一个MainActivity和很多片段,对于我来说,为每个片段创建活动似乎很麻烦,所以我一直在考虑在片段中注册演示者。 我所看到的是每个片段都注册了它自己的演示者,但我不确定它有多大的错误…… 🙂 所以这是我的演示者: public class FirstPresenter implements FirstContract.Presenter { private final FirstContract.View mView; public FirstPresenter(FirstContract.View view) { mView = view; } @Override public void start() { Log.e(TAG, “Start”); } } 这是我的碎片: public class FirstFragment extends Fragment implements FirstContract.View { private FirstContract.Presenter mPresenter; @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container , Bundle savedInstanceState) […]

什么是非嵌入式活动,为什么android:fitsSystemWindows不能在其中工作?

我正在尝试在视图上使用android:fitsSystemWindows属性,以便它不被我的半透明导航栏阻止,但它没有做任何事情。 关于它的Android文档说fitsSystemWindows “只有在这个视图处于非嵌入式活动时才会生效。” 什么是嵌入式活动? 我可能会偶然创建一个吗? 是否有可能将fitsSystemWindows的效果合二为一?

“最小化”Android中的活动(不完成)

我想“最小化”应用程序,使其在后台完全相同,当用户单击按钮时按下主页按钮(但不完成它)我该怎么做?

Android ActivityManager与WindowManager

有人可以在下面详细解释, 1- What is the use of ActivityManager & WindowManager? 2- What is the difference between ActivityManager & WindowManager?