【发布时间】:2012-12-30 14:13:50
【问题描述】:
onActivityResult() 方法,写在一个从未调用过的 childActivity 中
我的 TabGrpActivity 扩展了 ActivityGroup。
public class TabGroupActivity extends ActivityGroup
{ 私有 ArrayListmIdList;
@Override
protected void onCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
if(mIdList==null)
mIdList = new ArrayList<String>();
obj = new ScheduleView();
startChildActivity("Activity1", new Intent(this,Activity1.class));
}
public void startChildActivity(String Id,Intent intent)
{
Window window = getLocalActivityManager().startActivity(Id,
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
if(window!=null)
{
mIdList.add(Id);
setContentView(window.getDecorView());
}
}
在我的 Activity1(子活动)中,使用 startActivityForresult() 调用另一个活动。代码如下。
mybund.putString("event", obj_rowitem.getevent());
Intent schedule = new Intent(getApplicationContext(), Activity2.class);
schedule.putExtras(mybund);
startActivityForResult(schedule, req_code);
我还在Activity1中写了一个onActivityResult方法,代码如下
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
year = data.getExtras().getInt("year");
month=data.getExtras().getInt("month");
date=data.getExtras().getInt("date");
String getdate=year+"-"+month+"-"+date;
readschedules(getdate);
rowitems=getdata(getdate);
listview.setAdapter(new CustomView(getApplicationContext(), rowitems));
}
一件事是我将 Activity2 称为一个简单的活动,它不是子活动...
这里我的问题是......在控件将去的 Activity2 中调用 setResult() 之后......
我不了解ActivityGroup的生命周期..
【问题讨论】:
-
你不应该首先使用
ActivityGroup。它已被 API13 中的Fragments 取代,并且可通过支持库在早期版本中使用。 -
Fragment...我该如何实现它??
-
我正在使用 Api 10 级.....我可以在 Api10 中实现 Fragment
-
官方 Android 开发者指南中有一整节专门介绍 Fragments。你可以在这里找到它developer.android.com/guide/components/fragments.html
-
是的,您可以使用项目中的支持库在旧版本的 Android(低至 API 4)中实现片段。在此处阅读更多信息developer.android.com/tools/extras/support-library.html
标签: android activitygroup