Questions tagged «android-activity»

有关在Android中创建或管理“活动”的问题。在Android应用程序中,活动是提供用户界面的组件,允许用户执行某些操作。简单的例子是:拨打电话,拍照,发送电子邮件或查看地图。

10
为什么要使用片段,以及何时使用片段代替活动?
在Android API 11+中,Google发布了一个名为的新类Fragment。 Google在视频中建议,在可能的情况下(link1,link2),我们应该使用片段而不是活动,但它们并没有确切说明原因。 片段的目的是什么以及它们的可能用途(除了一些可以通过简单的视图/布局轻松实现的UI示例)? 我的问题是关于片段的: 使用片段的目的是什么? 与使用活动/视图/布局相比,使用片段的优缺点是什么? 奖励问题: 您能为片段提供一些非常有趣的用途吗?Google在影片中没有提及的内容? 在片段和包含片段的活动之间进行交流的最佳方式是什么? 使用片段时要记住的最重要的事情是什么?您的经验中有任何提示和警告吗?

4
getApplication()与getApplicationContext()
我找不到满意的答案,所以我们开始:Activity/Service.getApplication()和有Context.getApplicationContext()什么关系? 在我们的应用程序中,两个都返回相同的对象。在ActivityTestCase然而,嘲讽的应用程序将getApplication()回来与模拟,但getApplicationContext仍然会返回一个不同的上下文实例(一个由Android注入)。那是个错误吗?是故意的吗? 首先,我什至不了解其中的区别。在测试套件之外是否有案例,两个调用可能返回不同的对象?什么时候,为什么?而且,为什么getApplication在Activity和Service上定义了,但没有定义Context?难道不应该在任何地方都可以使用有效的应用程序实例吗?

11
更改应用程序的启动活动
我已经创建了应用程序的内容,但是我想添加一个不同的活动作为起点(类似于登录屏幕)。 几个问题: 1对于如何在活动之间进行切换,我有相当不错的了解(根据本文:http : //www.linux-mag.com/id/7498),但是我不确定如何创建一个新活动(蚀)。 2创建新活动后,如何将其设置为应用程序的默认活动? 我想我可以更改类的名称...但是有没有更优雅的方式来处理(也许在AndroidManifest.xml)呢?

15
从历史记录堆栈中删除活动
我的应用程序在用户首次运行该应用程序时显示一个注册活动,如下所示: ActivitySplashScreen(欢迎使用游戏,注册一个帐户?) ActivitySplashScreenSignUp(很好,请填写此信息) ActivityGameMain(主游戏屏幕) 因此,当用户单击每个屏幕上的按钮时,活动将以完全相同的顺序彼此启动。 当用户从活动#2转到#3时,是否有可能彻底清除历史记录堆栈中的#1和#2?我希望这样,如果用户位于#3,然后单击“后退”按钮,则他们只是转到主屏幕,而不是返回初始屏幕。 我想我可以通过任务来完成此任务(例如,在#3上开始新任务),但想看看是否有更简单的方法, 谢谢

21
如何在Android中重新启动Activity
如何重新启动Android Activity?我尝试了以下方法,但是Activity简单地退出了。 public static void restartActivity(Activity act){ Intent intent=new Intent(); intent.setClass(act, act.getClass()); act.startActivity(intent); act.finish(); }

27
完成之前的所有活动
我的应用程序具有以下流程屏幕: Home->screen 1->screen 2->screen 3->screen 4->screen 5 现在我log out 在每个屏幕上都有一个通用按钮 (Home/ screen 1 / screen 2 /screen 3/ screen 4 / screen 5) 我希望当用户单击注销按钮(从任何屏幕)时,所有屏幕都将完成,并且Log in将打开一个新屏幕。 我几乎已经尝试了所有方法FLAG_ACTIVITY来实现这一目标。我也在stackoverflow中经历了一些答案,但无法解决问题。我的应用程序位于Android 1.6上,因此无法使用FLAG_ACTIVITY_CLEAR_TASK 有什么办法解决这个问题?

24
从Activity上下文外部调用startActivity()
我ListView在Android应用程序中实现了。我ListView使用类的自定义子类将此绑定ArrayAdapter。在覆盖的ArrayAdapter.getView(...)方法中,我分配了一个OnClickListener。在的onClick方法中OnClickListener,我要启动一个新活动。我得到了例外: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want? 我怎样才能获得Context的ListView(目前的Activity)工作下?

13
清除整个历史记录堆栈并在Android上开始新的活动
是否可以在堆栈上启动活动,在此之前清除整个历史记录? 情况 我有一个活动堆栈,它进入A-> B-> C或B-> C(屏幕A选择了用户令牌,但是许多用户只有一个令牌)。 在屏幕C中,用户可能会执行使屏幕B无效的操作,因此应用程序希望将其带到屏幕A,而不管其是否已经在堆栈中。屏幕A应该是我的应用程序中堆栈上的唯一项。 笔记 还有许多其他类似的问题,但是我还没有找到任何能回答这个确切问题的东西。我尝试调用getParent().finish()-这总是导致空指针异常。FLAG_ACTIVITY_CLEAR_TOP仅当活动已经在堆栈中时才起作用。

30
Android:清除后盖
在Android中,我有一些活动,比如说A,B,C。 在A中,我使用以下代码打开B: Intent intent = new Intent(this, B.class); startActivity(intent); 在B中,我使用以下代码打开C: Intent intent = new Intent(this, C.class); startActivity(intent); 当用户点击C中的按钮时,我想返回A并清除后退堆栈(同时关闭B和C)。因此,当用户使用后退按钮B和C不会显示时,我一直在尝试以下操作: Intent intent = new Intent(this, A.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); 但是,当我回到活动A时,如果使用后退按钮,B和C仍会出现。如何避免这种情况?

15
Android共享的用于创建一次性活动的偏好设置(示例)[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 3年前关闭。 改善这个问题 我有三个活动A,B和C,其中A和B是表单,并且在将表单数据填充并保存到数据库(SQLITE)中之后。我正在使用从A到B然后从B到C的意图。我想要的是每次打开应用程序时都希望C作为主屏幕,而不再是A和B. 我想可以通过共享首选项来解决这个问题,但是我找不到一个很好的例子来说明我的出发点。任何帮助,将不胜感激。

5
使用参数启动活动
我对Android开发非常陌生。 我想创建并启动一个活动以显示有关游戏的信息。我显示该信息我需要一个gameId。 如何将这个游戏ID传递给活动?游戏ID是绝对必要的,因此如果没有ID,我不想创建或开始活动。 就像该活动只有一个带有一个参数的构造函数。 我怎样才能做到这一点? 谢谢。

12
如何在Android上禁用方向更改?
我有一个我只想在纵向模式下使用的应用程序,因此我在清单XML中定义了android:screenOrientation =“ portrait”。对于HTC Magic手机,这可以正常工作(并且还可以防止其他手机的方向更改)。 但是,当我打开硬件QWERTY键盘(不是虚拟键盘)时,HTC G1手机出现了问题。我的活动保持纵向模式,但似乎重新启动并失去所有状态。HTC Hero版本不会发生这种情况。 我的应用程序很大,所以我不希望它在打开键盘时重新启动并丢失所有状态。我该如何预防?

5
如何从TabHost活动返回结果(startActivityForResult)?
我的示例中有3个班级:A类,主要活动。A类调用startActivityForResult: Intent intent = new Intent(this, ClassB.class); startActivityForResult(intent, "STRING"); B类,此类是TabActivity: Intent intent = new Intent(this, ClassC.class); tabHost.addTab... C类,该类为常规活动: Intent intent = this.getIntent(); intent.putExtra("SOMETHING", "EXTRAS"); this.setResult(RESULT_OK, intent); finish(); 在Class A中调用了onActivityResult,但是使用了resultCode RESULT_CANCELED而不是,RESULT_OK返回的intent为null。如何从TabHost内的Activity返回某些内容? 我意识到问题在于我的C类实际上是在B类内部运行的,而B类才是回到RESULT_CANCELEDA类的原因。我只是不知道解决方法。


9
活动,AppCompatActivity,FragmentActivity和ActionBarActivity:何时使用哪个?
我来自iOS,它很容易,您只需使用UIViewController。但是,在Android中,事情似乎要复杂得多,对于特定的API级别,使用某些UIComponent。我正在阅读适用于Android的BigNerdRanch(这本书大约有2年历史了),他们建议我使用Activity来托管我的FragmentActivities。但是,我以为Activity已弃用。 因此,对于API级别22(对API级别15或16的最低支持),我到底应该使用什么来托管组件以及组件本身?所有这些都有用途吗,还是我应该只使用一两个?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.