MainActivity.java
package atry.test.sendvalue;
import android.app.Activity;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.btn_next_page).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent= new Intent();
UerInfo uf=new UerInfo();
uf.name="张三";
uf.age=15;
uf.sex="女";
intent.putExtra("obj",uf);
intent.setClass(MainActivity.this,SecondActivity.class);
startActivityForResult(intent,100);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.e("tag","RequestCode="+requestCode+",ResultCode="+resultCode);
Log.e("tag",data.getStringExtra("huichuan"));
char[] charArrays = data.getCharArrayExtra ("bundle_char_array");//这里用data,而不是用getIntent();
for(int i=0;i<charArrays.length;i++){
Log.e("tag","charArrays"+i+":"+charArrays[i]);
}
}
}
SecondActivity.java
package atry.test.sendvalue;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Parcelable;
import android.util.Log;
import android.widget.TextView;
import java.io.Serializable;
public class SecondActivity extends Activity {
@Override
protected void onCreate( Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_2);
UerInfo uf=(UerInfo)getIntent().getSerializableExtra("obj");
TextView textView=findViewById(R.id.tv_id);
textView.setText(uf.name);
TextView textView1=findViewById(R.id.tv_id2);
textView1.setText(","+uf.sex+","+uf.age+".");
Intent intent = new Intent();
intent.putExtra("huichuan","张三");
char[] myChar = new char[]{'a','b','c','d'};
intent.putExtra("bundle_char_array",myChar);//intent可以直接携带数组,一开始我是把数组绑定到bundle,在把bundle绑到intent里,没成功。
setResult(RESULT_FIRST_USER,intent);//多种值代表不同交互反应?
setResult(RESULT_OK,intent);//多种值代表不同交互反应?
setResult(RESULT_CANCELED,intent);//多种值代表不同交互反应?
Log.e("tag","字符数组="+myChar.length);
}
}