这就是我启动Tab Activity的方法
Intent i = new Intent("walk.me.TAB");
startActivityForResult(i, STATIC_RESULT);
注意:STATIC_RESULT=-1
或RESULT_OK;
。
这就是我完成Tab活动的方式
((Button)viewItem.findViewById(R.id.gotherefav)).setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
if(ime!=null)
{
b.putString("ime",ime.toString());
b.putIntArray("koordinati&kategorija", coordAndCat );
b.putBoolean("klik", true);
FinishWithResult(b);
}
return false;
}});
public void FinishWithResult(Bundle b)
{
Intent i = getIntent();
i.putExtras(b);
setResult(Activity.RESULT_OK, i);
Log.i("in FINISH", "settig Activity Result");
finish();
}
这是我的OnActivityResult
实施:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.i("in OnActivityResult", "Activity Result");
Toast.makeText(getBaseContext(), "DOJDE", Toast.LENGTH_LONG).show();
super.onActivityResult(requestCode, resultCode, data);
Log.i("in OnActivityResult", "Activity Result");
if (requestCode == STATIC_RESULT) {
if (resultCode == RESULT_OK) {
Toast.makeText(getBaseContext(), "DOJDE BUNDLE", Toast.LENGTH_LONG).show();
Bundle preferenciOdTab = data.getExtras();
if(preferenciOdTab !=null && preferenciOdTab.getBoolean("klik", true))
{
mapView = (MapView)findViewById(R.id.map);
isFavorite=preferenciOdTab.getBoolean("klik");
drawFavorite(preferenciOdTab.getString("ime"),preferenciOdTab.getIntArray("koordinati&kategorija"));
}
}}
为什么永远不会调用onActivityResult
并直接转到OnResume()
,无论在OR之前是否会调用OAR的文档保证?我做错了什么?我没有在清单xml中说明
singleInstance
或
singleTask
表示主要活动。
答案 0 :(得分:6)
你说STATIC_RESULT是-1吗?
requestCode必须是一个正整数。
参数
意图开始的意图。
requestCode如果> = 0,当活动退出时,将在onActivityResult()中返回此代码。