Activity初级:startActivityForResult、重写onActivityResult、setResult回传数据、requestCode请求码
2013-05-08 21:51
447 查看
main端:
/** * 实现:主页面点击按钮1,跳转到页面二输入内容,点击页面二按钮返回主页面并显示输入信息; * 主页面点击按钮2,跳转到页面三输入内容,点击页面三按钮返回主页面并显示输入信息. * 主要步骤: * 1) startActivityForResult(intent, 0); * 2) 回传数据时,调用setResult(0, data)方法,然后执行finish() * 3) onActivityResult(int, int, Intent data) */ public class MainActivity extends Activity { private static final int BTN_ONE = 1;//将常量封装定义 private static final int BTN_TWO = 2; @Override//重写onActivityResult protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data);//有参数的super必须重写 TextView textView = (TextView) findViewById(R.id.textView1_main); if(requestCode == BTN_ONE)//根据请求码判断接收内容 { String str = data.getStringExtra("one"); textView.setText(str); } else if(requestCode == BTN_TWO) { String str = data.getStringExtra("two"); textView.setText(str); } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //监听button1,跳转到NextActivity,等待result Button button1=(Button) findViewById(R.id.button1_main); button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this,NextActivity.class); startActivityForResult(intent, BTN_ONE); } }); //监听button2,跳转到ThirdActivity,等待result Button button2 =(Button) findViewById(R.id.button2_main); button2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this,ThirdActivity.class); startActivityForResult(intent, BTN_TWO); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } }next端:
public class NextActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_next); Button button =(Button) findViewById(R.id.button1_next); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //得到用户数据 EditText editText=(EditText) findViewById(R.id.editText1_next); String strone = editText.getText().toString(); //回传数据 Intent data = new Intent(); data.putExtra("one", strone); setResult(1, data ); //关闭当前窗口 finish(); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.next, menu); return true; } }third端:
public class ThirdActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_third);Button button = (Button) findViewById(R.id.button1_third);
button.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
EditText editText = (EditText) findViewById(R.id.editText1_third);
String strtwo = editText.getText().toString();
Intent data = new Intent();
data.putExtra("two", strtwo);
setResult(2,data );
finish();
}
});
}@Override
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.third, menu);
return true;
}
}
相关文章推荐
- activity间数据传递--startActivityForResult()&setResult()
- startActivityForResult和setResult详解
- startActivityForResult数据传递
- startActivityForResult、setResult的用法
- startActivityForResult和setResult详解
- android中使用startActivityForResult()回传数据
- android中使用startActivityForResult回传数据
- startActivityForResult和setResult详解
- startActivityForResult和setResult详解
- startActivityForResult和setResult详解
- Activity数据返回 startActivityForResult()用法详解
- Android的startActivityForResult()与onActivityResult()与setResult()参数分析,activity带参数的返回
- android中使用startActivityForResult回传数据
- Activity设置singleInstance后不能启用startActivityForResult()进行数据回调
- (转)android中使用startActivityForResult回传数据
- android中使用startActivityForResult回传数据
- android中使用startActivityForResult回传数据
- startActivityForResult和setResult详解
- Activity数据返回 startActivityForResult()用法详解
- Intent的用法(一),启动activity传递数据以及startActivityForResult