当前位置: 代码迷 >> Android >> startActivityForResult得不到回传值是为什么呢?该怎么解决
  详细解决方案

startActivityForResult得不到回传值是为什么呢?该怎么解决

热度:62   发布时间:2016-05-01 21:20:00.0
startActivityForResult得不到回传值是为什么呢?
代码如下:

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方法好像不执行 是什么原因呢。小弟新手,请高手帮忙看看。

------解决方案--------------------