main端:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
/** * 实现:主页面点击按钮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端:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
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端:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
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 ;
}
} |
本文转自 glblong 51CTO博客,原文链接:http://blog.51cto.com/glblong/1195845,如需转载请自行联系原作者