以dialog形式弹出的activity,如何向另一个activity传值

yuanyanfang1994 发布于 2013/11/29 14:02
阅读 3K+
收藏 0
加载中
0
nevans
nevans
activity之间通常用广播进行通信。
0
yuanyanfang1994
yuanyanfang1994

引用来自“nevans”的答案

activity之间通常用广播进行通信。
那我这个问题该怎么解决呢?我是使用的startActivityForResult,利用intent传的值
主activity:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        Log.i(logTag, "onActivityResult--------------");
        switch (requestCode) {
        case 0:
                if(resultCode==RESULT_OK){
                        Log.i(logTag, "case 0:");
                        Bundle bundle=data.getExtras();
                        String place=bundle.getString("place");
                        Log.i(logTag, "placeplaceplaceplaceplace"+place);
                        edit_chufadi.setText(place);
                        break;
                }               
        }
}
另一个activity是:
Intent intent =new Intent(WorkPlanXZcfdDialogActivity.this,
     WorkPlanNewWorkPlanActivity.class);
   // 此处使用putExtras,接受方就响应的使用getExtra
   intent.putExtra("place", radiofengongsi.getText());
   setResult(RESULT_OK, intent);
   Log.i(logTag, "unfinish----------");
   finish();
   Log.i(logTag, "finish----------");
这样得不到值为什么
0
Romen
Romen

上面那个传值问题感觉有点乱哦。

发出方:

Intent intent=new Intent();
Log.i("count", String.valueOf( list.size())) ;
intent.putExtra("一个集合", list);
intent.setClass(act, XXX.class);
act.startActivity(intent); 


接收方XXX:

list = (ArrayList)getIntent().getSerializableExtra("一个集合");

这样在XXX就能把发出方的list拿出来了。

返回顶部
顶部