标签: android-lifecycle

检测应用程序终止,Android

我需要一种方法来检测我的应用程序何时关闭,以便我可以告诉Web服务器清除它存储的会话变量.有没有办法做到这一点?

android session-variables android-lifecycle

0
推荐指数
1
解决办法
1761
查看次数

使用Home Key杀死Android应用程序

我有一个Android应用程序,当按下Home键时我希望它终止.期.我不希望它在后台运行.我只想让它终止.这样做的最佳方法是什么?

android android-lifecycle

0
推荐指数
1
解决办法
229
查看次数

Android Activity中未调用main方法

所以我有这个代码解决了java(android开发)中的二次方程式,它没有做任何事情!我按下按钮时根本没有给出答案...我甚至无法检查它是否正确.

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.support.v4.app.NavUtils;

public class QuadraticEquationSolver extends Activity {
public void main(String[] args){

    Button calc = (Button) findViewById(R.id.Calculate);
    calc.setOnClickListener(new View.OnClickListener() {

        public void onClick(View arg0) {
            EditText X2 = (EditText)findViewById(R.id.X2);
            EditText X = (EditText)findViewById(R.id.X);
            EditText Num = (EditText)findViewById(R.id.Num);
            TextView ans= (TextView) findViewById(R.id.finalans);
            double x2 = Integer.parseInt(X2.getText().toString());
            double x = Integer.parseInt(X.getText().toString());
            double num = Integer.parseInt(Num.getText().toString());
            double finalNum = ((x*-1) + (Math.sqrt((x*x)-(4*x*num))))/(2*x2);
            ans.setText("answer: " + finalNum); …
Run Code Online (Sandbox Code Playgroud)

java android android-lifecycle

0
推荐指数
2
解决办法
401
查看次数

Android片段:继承与组合

简而言之,我正在尝试将一个片段包装在一个包装类中,然后将包装器添加到视图寻呼机中.我在以后运行应用程序时遇到空指针问题(而不是从片段继承,并将继承的片段添加到viewpager).


描述

基本上,我正在向viewpager添加片段,在添加片段之前,我一直在继承它,并将其包装在另一个视图中,在它周围添加一个边界(页面分割).

每个页面/片段都是一个不同的类,表示要显示的视图.

这种方法的问题是我需要扩展每个片段并添加相同的样板功能,这是不理想的.我也不想创建一个基类,比如说"boardered-fragment",因为当它们从它衍生出来时(然后片段)就会知道它们(我认为).

所以,我想我也许只会使用组合,我将创建一个通用的包装类,它将包含一个类型为T的片段数据成员.这个问题是我似乎无法获得当前活动的"活动" "引用片段数据成员的上下文(在包装器中组成).

我做了一些临时调整并隐藏了getActivity(),它返回了我手动存储的活动引用的副本.然而程序崩溃是随机的(我怀疑它会).我已经尝试在我的包装器中覆盖所有可能的生命周期方法,然后在内部将在数据成员片段上调用该生命周期方法

public override void OnSomething()
{
    base.OnSomething()

    mFragment.OnSomething()
}
Run Code Online (Sandbox Code Playgroud)

但这似乎没有帮助.我猜测因为组合片段是从当前活动上下文"隐藏"的,所以我需要手动完成所有必要的操作.我只是不确定它们都是什么?

这是我正在尝试完成的快速代码示例,详细说明如下.如果需要更多代码,请告诉我,我将调整我的示例格式.


组合(在整个app中有很多问题/空指针)

public class Frag1 : Fragment
{
    ...
}

public class Activity1 : Activity
{
     public override void OnCreate(Bundle bundle)
     {
         ...

         List<Fragment> fragments = new List<Fragment>();

         fragments.Add(FragmentWrapper.NewInstance(Activity, typeof(FragmentWrapper))

         MyAdapter pagerAdapter = new MyAdapter(FragmentManager, fragments);            
         ViewPager viewPager = FindViewById<ViewPager>(Resource.Id.view_pager);
         viewPager.Adapter = pagerAdapter;
     }

    public class FragmentWrapper
    {
        Fragment mFragment;   // How to successfully wrap a fragment, but still behave properly ???? …
Run Code Online (Sandbox Code Playgroud)

android xamarin.android android-lifecycle android-fragments android-activity

0
推荐指数
1
解决办法
1428
查看次数

Android Back Key

主屏幕

逻辑继续Home Screen- > Screen1- > Screen2- > Screen3- > HomeScreen.

1.On按主页按钮Screen3就会恢复Home Screen.同样在按下回车键Home Screen它会转到Screen1然后Screen2Screen3.

我现在好了Home Screen.如果我按回按钮它必须转到手机的主屏幕.相反,按下后退按键的顺序相反.我不想finish()在每个屏幕上调用活动.

给我一个解决方案!

android android-lifecycle android-activity

0
推荐指数
1
解决办法
113
查看次数

为什么第一次启动活动时会调用OnResume

我有一个激活,当它第一次加载时它会做一些OnCreate,我还需要在OnResume上运行,问题是它第一次进入活动它通过OnCreate和OnResume,如果我导航到另一个然后使用后退箭头返回到它只触发OnResume的活动,这很好,除非它在第一次运行活动时通过它,它导致它两次调用相同的东西.如果可能的话,如何避免第一次不调用OnResume()的活动?

android android-lifecycle

0
推荐指数
1
解决办法
3137
查看次数

在EventBus中侦听事件的活动

我有一个活动,其中包含从异步HTTP请求接收的对象的视图.我正在使用EventBus向对象发布事件,并在活动中使用以下方法:

public void onEventMainThread(MyObjectEvent event) {
    EventBus.getDefault().unregister(this);
    showMyObject(event.getMyObject());
}
Run Code Online (Sandbox Code Playgroud)

以前,我在onCreate()方法中注册了activity的实例:

EventBus.getDefault().register(this);
Run Code Online (Sandbox Code Playgroud)

我知道Android中的Activity生命周期,我认为我使用EventBus的方式不对,因为我正在注册一个可能被Android破坏的实例.我并不热衷于注册具有此类行为的实例.

我可以使用每个onEvent()方法注册一个Application实例或一个对象,但我会编写一个God对象.

通过验证getStickyEvent(MyObjectEvent)为null然后注册活动,将是一个使用粘性事件的解决方案吗?如果不是null,我会注册活动.

我想知道在Android中使用带有视图的EventBus的最佳方法是什么.提前致谢 ;)

android asynchronous android-lifecycle android-activity greenrobot-eventbus

0
推荐指数
1
解决办法
1610
查看次数

Android应用程序生命周期和后退按钮

我已经阅读了有关活动生命周期的Android文档。但是,我对应用程序中不同活动的行为感到好奇。

从一些测试,我已经通过意图暂停活动的已完成,过渡从活动A到活动B在同一程序中通过onPause(),并创建活动B通过onCreate()

奇怪的是,当活动B过渡回活动A时。

如果按下了硬件后退键,onPause()则对活动B onResume()触发,对活动A触发。这就是我所期望的。

但是,如果按下上的后退按钮ActionBaronDestroy()则为活动A触发,然后按onCreate()onResume()

为什么会这样呢?

android android-lifecycle

0
推荐指数
1
解决办法
132
查看次数

为什么onCreate方法在方向每次更改时运行

我需要停止Activity从去通过onCreate()一遍又一遍的方向改变时.

我在我的代码中添加了以下代码AndroidManifest.xml:

android:configChanges="orientation|keyboardHidden|screenSize"
Run Code Online (Sandbox Code Playgroud)

并添加了onConfigurationChanged()方法Activity,但onCreate()每次方向改变时它仍然会通过该方法...

android android-lifecycle

0
推荐指数
1
解决办法
321
查看次数

Android检查应用程序是否关闭

我有一个android应用程序,我需要一个功能或任何广播接收器,可以检查应用程序是否关闭。.我不需要在每个活动中调用destroy(该应用程序中大约有20个活动)应用程序类中的功能

public class ApplicationLifeCycleManager implements ActivityLifecycleCallbacks {

/** Manages the state of opened vs closed activities, should be 0 or 1.
 * It will be 2 if this value is checked between activity B onStart() and
 * activity A onStop().
 * It could be greater if the top activities are not fullscreen or have
 * transparent backgrounds.
 */
private static int visibleActivityCount = 0;

/** Manages the state of opened vs closed activities, should be 0 or 1 …
Run Code Online (Sandbox Code Playgroud)

android android-lifecycle android-activity android-activitymanager

0
推荐指数
3
解决办法
6298
查看次数