精华内容
下载资源
问答
  • 之前在写程序的时候,返回功能基本都是用activity的finish方法,然后今天看了篇文章,本是介绍actionbar的,原文在此(android4.0 ActionBar API)但是读到某段时却发现了个好办法,摘抄如下: 如果你以...

    之前在写程序的时候,返回功能基本上都是用activity的finish方法,然后今天看了一篇文章,本是介绍actionbar的,原文在此(android4.0 ActionBar API)但是读到某一段时却发现了一个好办法,摘抄如下:

    如果你以返回应用主界面来相应用户点击,那么你需要在Intent中包含FALG_ACTIVITY_CLEAR_TOP。使用这个标志位,当你要启动的Activity在当前的task中已经存在时,在该Activity(在堆栈中)上面的其他Activity都被销毁,目标Activity就显示在屏幕前面。你应该更加选择这个方法,因为返回应用主界面的行为相当于“going back”并且通常你不应该创建应用home activity的一个新实例。否则,在当前的task中你遭遇到长的Activity栈的返回结果。

    例如,如下是回到应用主界面的onOptionsItemSelected()方法的实现:

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
                // app icon in Action Bar clicked; go home
                Intent intent = new Intent(this, HomeActivity.class);
                intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                startActivity(intent);
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }

    需要注意的是:如果目标activity的launchmode=“standard”或者你没有设置过这个属性,那么上述行为将销毁包括该activity在内的及其之上的activity,因为standard模式总是会创建一个新的activity实例。

    看起来是google推荐的一种实现,可能是自己才疏学浅,到现在才发现这个宝贝,哈哈,推荐给大家,共同进步!
    展开全文
  • Android8.0 WebView返回上一层失效(canGoBack返回false问题)解决办法 原因 Android8.0开始WebView的shouldOverrideUrlLoading返回值是false才会自动重定向,并且无需调用loadUrl,与8.0之前的效果刚好相反。 ...

    Android8.0 WebView返回上一层失效(canGoBack返回false问题)解决办法

    原因

    Android8.0开始WebView的shouldOverrideUrlLoading返回值是false才会自动重定向,并且无需调用loadUrl,与8.0之前的效果刚好相反。

    解决办法

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
          //Android8.0以下的需要返回true 并且需要loadUrl;8.0之后效果相反
          if(Build.VERSION.SDK_INT<26) {
             view.loadUrl(url);
            return true;
          }
         return false;
    }

    如果你觉得自己配置WebView很麻烦,那就来用我封装好的WebView库吧,已经适配Android8.0了哦

    github地址:https://github.com/huangdali/CommWebView

    展开全文
  • android 点击按钮返回上一层

    千次阅读 2015-08-26 11:25:45
    如何在android中设置返回button,点击后返回上一个activity Button.setOnClickListener(mGoBack); public OnClickListener mGoBack = new OnClickListener() { public void onClick(View v) { ...

    如何在android中设置一个返回button,点击后返回上一个activity

    Button.setOnClickListener(mGoBack);
    public OnClickListener mGoBack = new OnClickListener() {

    public void onClick(View v) {
    finish();
    }
    };
    要返回上一个activity,只需结束当前的activity
    展开全文
  • android开发实现返回上一层界面,或者直接退出程序的实现方法:在当前需要实现此功能的界面的activity.java中,直接写入以下函数中的一个即可; //1.重写onBackPressed方法组织super即可实现禁止返回上一层页面 ...

     android开发实现返回上一层界面,或者直接退出程序的实现方法:在当前需要实现此功能的界面的activity.java中,直接写入以下函数中的一个即可;

       //1.重写onBackPressed方法组织super即可实现禁止返回上一层页面
       public void onBackPressed(){
           //super.onBackPressed();
        }
       

     


     

        //2.两次返回,返回到的是上一个界面
       public boolean onKeyDown(int keyCode, KeyEvent event) {
            if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){
                if((System.currentTimeMillis()-exitTime) > 2000){
                    Toast.makeText(getApplicationContext(), "再按一次返回上一层", Toast.LENGTH_SHORT).show();
                    exitTime = System.currentTimeMillis();
                } else {
                    finish();
                    System.exit(0);
                }
                return true;
            }
            return super.onKeyDown(keyCode, event);
        }
    

     


       //3.两次返回,返回到home界面(System.exit决定是否退出当前界面,重新加载程序)
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){
                if((System.currentTimeMillis()-exitTime) > 2000){
                    Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
                    exitTime = System.currentTimeMillis();
                } else {
                    Intent home = new Intent(Intent.ACTION_MAIN);
                    home.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    home.addCategory(Intent.CATEGORY_HOME);
                    startActivity(home);
                    //退出系统,不保存之前页面
                    System.exit(0);
                }
                return true;
            }
            return super.onKeyDown(keyCode, event);
        }
    
     

    
        //4.一次就返回到home页面,不退出这个程序,保留当前界面
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_BACK) {
                Intent home = new Intent(Intent.ACTION_MAIN);
                home.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                home.addCategory(Intent.CATEGORY_HOME);
                startActivity(home);
                return true;
            } return super.onKeyDown(keyCode, event);
        }

     

     

    展开全文
  • Android---如何返回上一Activity

    千次阅读 2013-11-25 12:33:03
    Android 代码用来返回上一个activity 调用onKeyDown()时发生java.lang.NullPointerException. 来自:CSDN博客推荐文章 | 时间:2012-05-04 22:42:12 原文链接: ...
  • android右滑返回上一个界面

    千次阅读 2016-03-28 17:52:24
    看标题,多么明显,多么大气,告诉我,你懂了吗?.....OK,放下你们手中的刀,我保证认真写... 现在特么的各种功能都要仿ios,仿仿仿,就特么知道仿,仿你大爷仿.... 好了,我开始了,首先,这个功能的实现目测是 ...
  • Android 滑动返回上一级页面

    千次阅读 2017-01-02 19:43:48
    摘要: 我们知道,APP在设计习惯性的把返回按钮放在屏幕的左上角,那么,在很多时候(尤其是大屏幕手机),操作改返回按钮,就会有诸多不便了。为了更加方便实现“返回”功能,现在的一些APP,如百度贴吧等,开始...
  • 在点击返回按钮的监听中添加如下代码: @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && mWebView.canGoBack()...// 返回个页面 return true;
  • android返回首页

    万次阅读 2018-08-02 20:45:54
    android返回首页有2种模式。种是层层返回,种是直接返回首页同时强转关闭当前页和首页外的其他页面资源。 1.层层返回: 在除首页外的每个页面重写onActivityResult方法: /** * 页面退出回调 * Author:...
  • android webview点击返回键回到上一个html android webview点击返回返回上一个html /** * 使点击回退按钮不会直接退出整个应用程序而是返回上一个页面 * * */ @Override public boolean onKeyDown...
  • Android页面返回上一级的三种方式

    万次阅读 2017-03-16 11:12:32
    . 首先如果是自己布置个back的按钮或图片  这个很简单,当然就要自己写回退实现的逻辑,例如back的id为R.id.back,在onClick方法中,switch case中调用finish方法,case R.id.back: finish();back();   二....
  • android多个fragment返回键层层返回

    千次阅读 2015-06-10 16:18:09
    在FragmentActivity的fragment跳转的时候添加到运行栈, public void switchFrag...// 返回上一个fragment popBackStack(); return true ; } return super .onKeyDown(keyCode, event); }
  • 之前通过判断CanGoBack来知晓是不是有二级页面,网页返回,不然关闭整个activity,但最近出现个网页点返回次处在二级页面无法返回。经过查找发现: Android 8.0开始WebView的shouldOverrideUrlLoading...
  • 在开发过程中我们常常会用返回键的功能。在一些特定的场合下也可以自己写返回功能。 开始我是用intent来创建个...原理 :android是使用栈来管理Activity的,也就是先进后出的原则。我们每打开个Activity,就会被
  • android原生控制web返回上一页--笔记

    千次阅读 2016-03-21 17:40:07
    已亲自试验 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()){ webView.goBack(); retu
  • 然在这个方法中判断在x轴移动的距离,然后进行相关的操作.不过android给我们提供了更好的选择:GestureDetector,通过这个对象.然后我们可以更简单的来识别各种手势,结合实际开发需要,我们把对屏幕右划的操作都放在...
  •  尝试了很多的方法,Android的activity在创建之后,也就是调用了onCreate函数之后就进入了个栈区,将创建了的activity按顺序放进去,finish()和System.exit(0)只能结束当前activity,而不能结束所有。而网上大量...
  • 1.先创建个数组 jbyteArray data = env->NewByteArray(1024);// 我这里是byte型数组 1024是数组长度 2.为数组赋值 jbyte* pbuf = (jbyte*)malloc(1024); memcpy(pbuf, fbmpptr, 1024); // fbmpptr为存放内容...
  • 返回上一层activity的实现方式(拓展:activity间的任意跳转)
  • 想在 C 中按 back 键直接返回到 A,但是按 back 键返回的是 B 。怎么办? 其实很简单,只需要设置 B 的启动模式为 singleInstance,然后在 B 启动 C 之后 finish() 即可。 例如: <activity android:name=".
  • ionic框架对Android返回键的处理

    万次阅读 2014-09-01 09:32:44
    在HybridApp移动跨平台开发中,android平台会遇到一些比较特殊并难以解决的问题,这些问题在原生应用开发中很easy, Android返回键处理就是问题之,假如我们要实现个在很多App中都有的在主页按返回键弹出...
  • AndroidManifest.xml文件中  如此配置:    android:name="com.xxxx.xxxxBctivity"  android:launchMode="singleTask"  android:taskAffinity="com.xxxx.xxxxBctivity">
  • .情景描述: 最近在做毕业设计:天气APP,主界面HomeActivity显示天气数据,CityActivity是城市管理界面,HomeActivity每次会加载CityActivity中的置顶城市。我要解决的问题 是, 当城市管理列表的置顶城市...
  • 有不少朋友跟我反应,都希望我可以写篇关于View的文章,讲讲View的工作原理以及自定义View的方法。没错,承诺过的文章我是一定要兑现的,而且在View这个话题我还准备多写几篇,尽量能将这个知识点讲得透彻一些...
  • 项目中遇到了这个问题,在网上找了一下,发现都是一些实现接口啊,或者把实例传出之类的方案.也能解决,有的需要特意指定是哪个Fragment,但是在我现在...个Activity 管理了 4个Fragment, A,B,C,D  A是作为容器, 默认显
  • Android系统架构 五结构

    万次阅读 2017-06-27 14:09:43
    Android系统架构 五结构 Android系统架构(由下往): Linux Kernel HAL Native C/C++ Libraries & Android Runtime Java Framework Applications Android系统架构
  • 前面有个a登陆页面,登陆完毕...如果不使用finish(),则b会返回。 解决方法 在 b页面 keydown 事件,将应用退都后台,不管A是否有使用FINISH() @Override public boolean onKeyDown(int keyCode, KeyEvent event)...
  • 由于我们用SwipeBackLayout需要将App的Theme添加个透明的属性,这就是导致出现Bug的源头。  android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/AppTheme" > 我们

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 107,751
精华内容 43,100
关键字:

android返回上一层