Activity类ActivityOne 中调用了一个普通类ClassOne,ClassOne中在一定条件下可以启动ActivityTwo, ActivityTwo在关闭时可以返回几个参数String1,String2,如何启动ActivityOne并获得String1,String2?

解决方案 »

  1.   

    1楼正解。
    另外你可以将数据保存在static变量中,还可以用数据库保存。
      

  2.   

    我明白你以上了嘿嘿。你要再普通类中实现跳转,嗯。你可以在ActivityOne 调用ClassOne的时候通过构造函数或者传值直接把你的ActivityOne 的context对象传给这个java类,跳转或者设置返回值都不会有问题了呢。public ClassOne(Context c, String title) {
    this.layoutinflater = LayoutInflater.from(c);
    this.title = title;
    this.context = c;
    }
    Intent intent = new Intent(context,ActivityTwo.class);
    context.startActivity(intent);你要返回值可以用1楼的方法。
      

  3.   

    A跳到B用的是startactivityforresult,B跳到C用的是startactivityforresult
    C采用finish结束把数据传回B的onActivityResult,并且多回传个参数“back”
    在B的onActivityResult判断这个参数,如果存在,就继续把Bundle回传给A
      

  4.   


          //A数据传给B
      Intent intent = new Intent();
          intent.setclass(A.this, B.class);
      Bundle mbundle = new Bundle();//一个容器,可以装名值对
          mbundle.putString("aa", "传递的数据");
      intent.putExtras(mbundle);
          startActivity(intent); //B接收数据的代码,在Activity中覆盖onActivityResult方法
      Bundle bundle = getIntent().getExtras();
    String data = bundle.getString("aa");
          
          希望对你有帮助!!!
      

  5.   

    通过最近的学习发现,像你这种ClassA要产生一个Activity的话,最好把ClassA继承Activity,只是我的建义
      

  6.   

    使用startActivityForResutl 和onActivityResult  这两个方法即可完成。参考地址http://thinkblog.sinaapp.com/?p=230
      

  7.   

    使用startActivityForResutl 和onActivityResult 这两个方法即可完成。参考地址http://thinkblog.sinaapp.com/?p=230
      

  8.   

    用 startActivityForResut 就行了 
      

  9.   

    可以在ActivityTwo相应的组件中使用Intent吧,相应组件就是导致从ActivityTwo中跳转的组件
      

  10.   

    楼主,我也遇到同样的问题,你的问题可以这样解决,把A的Context传给B,B startActivityForResult,C处理之后,在A的onActivityResult可以拿到信息...不过我的问题是,我想在B里面拿信息...试了很多种方法都不行,求帮助。