【发布时间】:2015-07-15 14:24:37
【问题描述】:
我遇到了一个 android 应用程序的活动问题,为了简单起见,我设置了三个活动:主 M、回答 A 的活动和启动 C 的活动。
所以 M 使用 startActivityOnResult 启动 A,然后 A 将结果发送给 M,然后 M 从那里启动 S。
但由于某种原因,直到我从那里调用的主要方法完成后,S 的布局才会更新(当该方法完成时,活动无论如何都会回到 M,所以基本上我只看到布局,如果我让活动 S 不给出结果,站在那里什么都不做)。
这里是一些代码:
在 M 开始 S :
Intent intent = new Intent(MainActivity.this, getCamFind.class);
intent.putExtra("path", mCurrentPhotoPath);
startActivityForResult(intent, CAMFIND_REQUEST_CODE);
在 S 中:
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_getcamfind);
receivedIntent = getIntent();
Log.d(TAG, "Received string : " + receivedIntent.getStringExtra("path"));
}
public void onStart(){
super.onStart();
try {
postCamResult(receivedIntent.getStringExtra("path"));
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
所以这里我说的主要方法是 postCamResult,它基本上使用改造连接到服务器。在这个方法的最后,我通常会放几行来发回结果意图。布局的问题是由于某种原因等待此方法完成?所以如果我不发送结果意图,它会在完成所有与服务器相关的事情之后,最终打印我的布局,但你知道,我希望我的布局在我打开活动后立即出现!
提前谢谢你!
【问题讨论】:
标签: java android android-layout android-activity oncreate