|
Android程序中打开新窗口,不管是否要传递数据,都要用Intent类 |
一派護法 十九級 |
Intent act = new Intent(MainActivity.this, Act.class); startActivity(act);
|
一派護法 十九級 |
Intent act = new Intent(MainActivity.this, Act.class); act.putExtra("title", getTitle()); startActivityForResult(act, 20872); 要传递数据的情况下
|
一派護法 十九級 |
接收数据还要再开一个Intent
|
一派護法 十九級 |
关闭一个Activity:Finish();
|
一派護法 十九級 |
主activity中接收数据: @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 20872 && resultCode == 20871) { setTitle(data.getStringExtra("newtitle")); } }
|
一派護法 十九級 |
子activity发送数据并关闭: OnClickListener btn1_events = new OnClickListener() { @Override public void onClick(View v) { EditText mTitle = (EditText)findViewById(R.id.editText1); String title = mTitle.getText().toString(); Intent intent = new Intent(); intent.putExtra("newtitle", title); setResult(20871, intent); finish(); } }; findViewById(R.id.button1).setOnClickListener(btn1_events);
这段代码要放到 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);////////////////////////////////////////// setContentView(R.layout.activity_); ///////////////////////////// 后面,不能放在中间!
在没显示窗口之前是不能绑定事件的。
|
一派護法 十九級 |
setTitle("Set Title"); String title = getIntent().getStringExtra("title"); EditText mTitle = (EditText)findViewById(R.id.editText1); mTitle.setText(title); mTitle.selectAll(); 子activity接收数据
|
一派護法 十九級 |
20872 20871 是intent号码 为任意整数
|
一派護法 十九級 |
|