zoukankan      html  css  js  c++  java
  • [android]Intent跳转新的Activity可以传递数据过去

    两种方式:

    一,直接通过Bundle对象来传递:

      如果我们想要给“收件人”Activity说点什么的话,那么可以通过下面这封“E-mail”来将我们的消息传递出去

      Intent intent=new Intent(CurrentActivity.this,OtherActivity.class);

      //创建一个带“收件人地址“的email

      Budle budle = new Budle();

      //创建email内容

      bundle.putBoolean("boolean_key",true);//编写内容

      bundle.putString("string_key","string_value");

      intent.putExtra("key",budle);//封装email

      startActivity(intent);//启动新的Activity

    二,使用Intent定义的Bundle对象

      上面我们通过bundle对象来传递信息,bundle维护了一个HashMap<String,Object>对象,将我们的数据存贮在这个HashMap中来进行传递,

    但是像上面这样的代码稍显复杂,因为Intent内部为我们准备好了一个bundle,所以我们也可以使用这种更为简便的方法:

      Intent intent = new Intent(EX06.this, OtherActivity.class);

      intent.putExtra("boolean_key",true);

      intent.putExtra("String_key","string_value");

      startActivity(intent);

    接受:

      Intent intent = getIntent();

      intent.getBooleanExtra("boolean_key",false);

      intent.getStringExtra("string_key");

    例如

    //Item单击事件,单击后跳转到新的Activyty,并显示完整的内容
    public void onItemClick(AdapterView<?> parent, View view, int position,
    long id) {


    //获取当前Item的完整数据
    Blog bg = blogList.get(position);
    String tile = bg.getBlogTile();
    String contents =bg.getBlogText();

    //开始一个新的intent
    Intent intent = new Intent(PULLParserActivity.this, BlogActivity.class);
    intent.putExtra(KEY_TILE, tile);
    intent.putExtra(KEY_CONTENTS, contents);
    startActivity(intent);
    }

    新的Activity里

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_blog);

    //接受intent数据

    Intent intent = getIntent();

    String tile = intent.getStringExtra(KEY_TILE);
    String contents = intent.getStringExtra(KEY_CONTENTS);

    tvTile = (TextView) findViewById(R.id.textView_tile2);
    tvContents = (TextView) findViewById(R.id.textView_contents2);

    tvTile.setText(tile);
    tvContents.setText(contents);

    }




  • 相关阅读:
    家谱树 x
    codevs 1231 最优布线问题 x(find函数要从娃娃抓起系列)
    洛谷 P1546 最短网络 Agri-Net x
    codevs 5969 [AK]刻录光盘x
    家谱(gen)x
    [POJ2594]Treasure Exploration(最小路径覆盖变种,floyd算法,匈牙利算法)
    [HDOJ5855]Less Time, More profit(最大权闭合子图,二分,最大流)
    [HDOJ1054]Strategic Game(最小点覆盖,最大二分匹配,HK算法)
    [HDOJ3829]Cat VS Dog(最大独立集)
    [HDOJ3488]Tour(二分图最小匹配,KM算法)
  • 原文地址:https://www.cnblogs.com/julyme/p/4198593.html
Copyright © 2011-2022 走看看