我有一个活动A,我想启动活动B以从服务器上加载它的数据,并在检索所有数据后,我想完成活动A,以使活动B出现在我的堆栈顶部并显示出来>
我无法解决这个问题,我不知道该如何实现
答案 0 :(得分:0)
您可以将数据加载到活动A中,并在完成加载后开始活动B并在活动之间传递数据,您可以查看如何here
答案 1 :(得分:0)
在活动A中这样做-
// 1. create an intent pass class name or intnet action name
Intent intent = new Intent(this,AnotherActivity.class);
// 2. put X, Y in intent
intent.putExtra("x", etX.getText().toString());
intent.putExtra("y", etY.getText().toString());
// 3. start the activity
startActivityForResult(intent, 1);
在活动B中这样做-
public class ActivityB extends Activity implements OnClickListener {
TextView tvSum;
Button btnSendResult;
int result;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_b);
// 1. get passed intent
Intent intent = getIntent();
// 2. get x & y from intent
int x = Integer.parseInt(intent.getStringExtra("x"));
int y = Integer.parseInt(intent.getStringExtra("y"));
result = x + y;
btnSendResult = (Button) findViewById(R.id.btnSendResult);
btnSendResult.setOnClickListener(this);
}
然后在活动B中的onCreate之外-
@Override
public void onClick(View view) {
Intent returnIntent = new Intent();
returnIntent.putExtra("result",result);
setResult(RESULT_OK,returnIntent);
finish();
}
答案 2 :(得分:0)
在活动A中使用广播接收器,并在我们开始活动B时开始收听广播。将数据加载到活动B中之后,发送广播。收到广播后,finish()
活动A。
答案 3 :(得分:0)
一旦数据加载完毕,您就可以使用活动{中的job scheduler加载数据,并启动活动B并传递数据。