Android登录成功后继续执行之前点击事件
来源:互联网 发布:千里眼软件下载 编辑:程序博客网 时间:2024/05/21 06:34
概述
现在几乎每一个APP都缺少不了登录功能,那么就会涉及到没登录的情况点击了需要登录才能执行的代码(比如说进入购物车界面),思路都是先跳转到登录界面,然后登录之后在回来执行该代码。那么作者就行封装一个观察者模式的登录工具类来统一处理整个APP的登录。
正文
public class LoginUtils {public static boolean isLogin = false; public static void isLogin(){ //下面先判断到底有没有登录,一般都会在本地保存。 if (isLogin){ //登录了就执行 if(iLogin!=null){ LoginUtils.iLogin.onlogin(); } }else{ //去登录界面,如果登录成功了在调用这个方法就会走上面代码就可以了 } } public static void clear(){ if (iLogin!=null){ iLogin = null; } if (activity!=null){ activity = null; } } private static ILogin iLogin; private static Activity activity; public static void setIlogin(ILogin ilogin,Activity activity){ LoginUtils.iLogin = ilogin; LoginUtils.activity = activity; isLogin(); } public interface ILogin { void onlogin(); }}
@OnClick({R.id.tv_qq, R.id.tv_issues, R.id.tv_jianshu}) public void isLogin(final View view) { LoginUtils.setIlogin(new LoginUtils.ILogin() { @Override public void onlogin() { onViewClick(view.getId()); } },this); } private void onViewClick(int id) { switch (id) { case R.id.tv_qq: qq(); break; case R.id.tv_issues: issues(); break; case R.id.tv_jianshu: jianshu(); break; } }
代码很简单,其实就是在点击事件响应时我们去注册了一个观察者,然后把点击事件需要执行对应代码封装到onViewClick()方法并把方法放在onLogin()方法里。然后去判断有没有登录,登录了就回调onlogin方法就会去执行我们点击事件的内容了,如果没有登录就跳转到登录界面,然后登录成功后再调用LoginUtils.isLogin();就可以执行上面注册的onlogin()方法就会走onViewClick()方法了。
最后要记得释放掉Activity
protected void onDestroy() { LoginUtils.clear(); super.onDestroy(); }
结束语
本篇文章提供一个思想,如果有更好的方法也可以与作者分享。谢谢您的阅读,喜欢就点个赞吧。
阅读全文
0 0
- Android登录成功后继续执行之前点击事件
- 点击页面先登录,登录后继续之前页面
- android 自动执行点击事件
- 提示用户确认后继续执行按钮事件方法
- 提示用户确认后继续执行按钮事件方法
- Java并发:等待事件发生后所有线程继续执行
- Android onTouch 点击事件执行两次分析
- Android onTouch 点击事件执行两次分析
- JSP/Servlet基础——登录成功后返回之前的页面
- Android的finish后方法中的代码继续执行
- Android的Finish后的代码继续执行
- Android分享按钮点击后的事件
- Asp.net 2.0自定义控件(点击HyperLink后执行事件)
- 带着实例继续学习(1):组件式登录页面-点击事件、组件通讯
- android 防止Button的频繁点击,多次执行点击事件
- 登录后跳转之前页面
- 如何处理:下载文件的按钮在事件未完成之前防止多次点击,事件完成之后又能继续点击提交
- 异常结束后继续执行
- 2.变量
- 【脚本语言系列】关于Python并发技术asyncio,你需要知道的事
- 【Angular】——封装并发布组件
- 软件开发模型
- Android 7.0动态权限大总结
- Android登录成功后继续执行之前点击事件
- 安卓之ClipboardManager的使用
- 3.运算符与表达式
- Android 打点方式总结
- 解读C语言复杂的声明:char * (*(*a[N])())()
- 考研经验之中山大学
- Mysql Explain 详解
- picasso框架
- 4.数字与字符串类型