代码如下:public class bundleActivity extends Activity {
    /** Called when the activity is first created. */
private Button button1=null;
private Button button2=null;
private TextView txt_view=null;
private EditText editText1=null;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        this.button1=(Button)findViewById(R.id.button1);
        this.button2=(Button)findViewById(R.id.button2);
        this.txt_view=(TextView)findViewById(R.id.txt_view);
        this.editText1=(EditText)findViewById(R.id.edit_text1);
     //this.editText1.setText("你好");
        this.button1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
       Intent intent=new Intent();
       intent.setClass(bundleActivity.this, data.class);
       //Bundle bundle=new Bundle();
      // String aa=editText1.getText().toString();
      // bundle.putString("message", aa);
      // intent.putExtras(bundle);
       //intent.putExtras(bundle);
      // intent.putExtra("message", aa);
      // startActivity(intent);
       startActivityForResult(intent,0);
}
        });
        
    }  
    protected void OnActivityResult(int requestCode, int resultCode, Intent data){
     //super.onActivityResult(requestCode, resultCode, data);
     //String msg=data.getExtras().getString("mes");
     if (resultCode==RESULT_OK){
         Bundle bundle=data.getExtras();
         String mm=bundle.getString("datas");
         this.txt_view.setText(mm);
     }
    }
}data.class里面的代码:public class data extends Activity{
private Button button3=null;
private Button button4=null;
private TextView txt_view1=null;
private EditText editText2=null;

@Override
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.data);
        
        this.button3=(Button)findViewById(R.id.button3);
        this.button4=(Button)findViewById(R.id.button4);
        this.editText2=(EditText)findViewById(R.id.edit_text2);
        this.txt_view1=(TextView)findViewById(R.id.txt_view1);
       // Intent i=new Intent();
       // Bundle bd=i.getExtras();
       // String s=bd.getString("message");
       // this.editText2.setText(s+"hahah");
        
        this.button3.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String strEtxt=editText2.getText().toString();
Intent intent=new Intent();
Bundle bundle=new Bundle();
bundle.putString("datas", strEtxt);
intent.putExtras(bundle);
setResult(RESULT_OK,intent);
finish();
}
        });
        this.button4.setOnClickListener(new OnClickListener(){ @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
 String strEtxt=editText2.getText().toString();
txt_view1.setText(strEtxt);
}
        });
       
}
}OnActivityResult方法好像不执行  是什么原因呢。小弟新手,请高手帮忙看看。

解决方案 »

  1.   

    你要在data.class里重写onActivtiyResult方法
        @Override
    protected void onActivityResult(int requestCode, int resultCode,
    Intent data) {
            // You can use the requestCode to select between multiple child
            // activities you may have started.  Here there is only one thing
            // we launch.
            if (requestCode == GET_CODE) {            // We will be adding to our text.
                Editable text = (Editable)mResults.getText();            // This is a standard resultCode that is sent back if the
                // activity doesn't supply an explicit result.  It will also
                // be returned if the activity failed to launch.
                if (resultCode == RESULT_CANCELED) {
                    text.append("(cancelled)");            // Our protocol with the sending activity is that it will send
                // text in 'data' as its result.
                } else {
                    text.append("(okay ");
                    text.append(Integer.toString(resultCode));
                    text.append(") ");
                    if (data != null) {
                        text.append(data.getAction());
                    }
                }
                text.append("\n");
            }
        }
    如上
      

  2.   

    在protected void OnActivityResult前面加上@Override
      

  3.   

    之所以要加@Override是好让系统提示你代码写错了,
    OnActivityResult正确的写法是onActivityResult
      

  4.   

    为啥一楼被抽了-v-应该在data.class里写onActivityResult()方法啊,不是在第一个类里。