android中intent传递list或者对象的方法

 更新时间:2015年01月19日 15:13:36   投稿:shichen2014  
这篇文章主要介绍了android中intent传递list或者对象的方法,分析罗列了常用的几种方法,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了android中intent传递list或者对象的方法。分享给大家供大家参考。具体实现方法如下:

方法一:

如果单纯的传递List<String> 或者List<Integer>的话 就可以直接使用

代码如下:

复制代码 代码如下:
intent.putStringArrayListExtra(name, value) 
intent.putIntegerArrayListExtra(name, value)

方法二:

如果传递的是List<Object>,可以把list强转成Serializable类型,然后通过

复制代码 代码如下:
putExtras(key, (Serializable)list)

方法传递过去,接受的时候用
复制代码 代码如下:
(List<YourObject>) getIntent().getSerializable(key)

就可以接受到List<YourObject>数据了

但是 切记 你的YourObject类必须要实现Serializable接口

方法三:

一种是

复制代码 代码如下:
Bundle.putSerializable(Key,Object);

另一种是
复制代码 代码如下:
Bundle.putParcelable(Key, Object);

当然这些Object是有一定的条件的,前者是实现了Serializable接口,而后者是实现了Parcelable接口

方法四:

用intent传来传去 觉得不方便 我们可以写一个在application里面的全局数据

1、创建一个属于你自己的android.app.Application的子类
2、在manifest中申明一下这个类,
3、这时android就为此建立一个全局可用的实例,你可以在其他任何地方使用Context.getApplicationContext()方法获取这个实例,进而获取其中的状态(变量)。

继承Application

代码如下:

复制代码 代码如下:
class MyApp extends Application { 
    private String myState; 
    public String getState(){ 
    return myState; 
  } 
  public void setState(String s){ 
    myState = s; 
  } 
}

关于AndroidManifest.xml中的配置,原来直接给application加个name就可以了,如下面所示:

复制代码 代码如下:
<application android:name=".MyApp" android:icon="@drawable/icon"  android:label="@string/app_name">

使用

复制代码 代码如下:
class Blah extends Activity { 
    @Override 
  public void onCreate(Bundle b){ 
    ... 
    MyApp appState = ((MyApp)getApplicationContext()); 
    String state = appState.getState(); 
    ... 
  } 
}

希望本文所述对大家的Android程序设计有所帮助。

相关文章

  • Android实现随机圆形云标签效果

    Android实现随机圆形云标签效果

    这篇文章主要为大家详细介绍了Android实现随机圆形云标签效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Android Volley框架使用方法详解

    Android Volley框架使用方法详解

    这篇文章主要为大家详细介绍了Android Volley框架使用方法,从网络请求和图片加载两大方面进行分析,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • Android多点触控实现对图片放大缩小平移,惯性滑动等功能

    Android多点触控实现对图片放大缩小平移,惯性滑动等功能

    这篇文章主要介绍了Android多点触控实现对图片放大缩小平移,惯性滑动等功能的相关资料,需要的朋友可以参考下
    2016-02-02
  • Glide实现加载图片显示进度条效果

    Glide实现加载图片显示进度条效果

    Glide作为安卓开发常用的图片加载库,有许多实用而且强大的功能,那么,下面这篇文章主要给大家介绍了利用Glide实现加载图片显示进度条效果的相关资料,文中给出了详细的示例代码供大家参考学习,需要的朋友们下来一起看看吧。
    2017-05-05
  • android 仿微信demo——登录功能实现(移动端)

    android 仿微信demo——登录功能实现(移动端)

    本篇文章主要介绍了微信小程序-阅读小程序实例(demo),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能给你们提供帮助
    2021-06-06
  • JetpackCompose Scaffold组件使用教程

    JetpackCompose Scaffold组件使用教程

    在今年的Google/IO大会上,亮相了一个全新的 Android 原生 UI 开发框架-Jetpack Compose, 与苹果的SwiftIUI一样,Jetpack Compose是一个声明式的UI框架
    2023-01-01
  • Android实现单页面浮层可拖动view的一种方法

    Android实现单页面浮层可拖动view的一种方法

    本篇文章主要介绍了Android实现单页面浮层可拖动view的一种方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Android ListView滑动改变标题栏背景渐变效果

    Android ListView滑动改变标题栏背景渐变效果

    这篇文章主要为大家详细介绍了Android ListView滑动改变标题栏背景渐变效果,透明转变成不透明,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Flutter中数据存储的四种方式小结

    Flutter中数据存储的四种方式小结

    在 Flutter 中,存储是指用于本地和远程存储和管理数据的机制,本给大家介绍了Flutter中不同存储选项的概述和示例,通过代码示例讲解的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2023-11-11
  • Android webview手动校验https证书(by 星空武哥)

    Android webview手动校验https证书(by 星空武哥)

    有些时候由于Android系统的bug或者其他的原因,导致我们的webview不能验证通过我们的https证书,最明显的例子就是华为手机mate7升级到Android7.0后,手机有些网站打不开了,而更新了webview的补丁后就没问题了
    2017-09-09

最新评论