ActivityGroup + GridView + ViewFlipper 实现选项卡 引发的奇怪问题

sknice 2011-08-17 11:03:42
项目需要使用一个Tabhost控件,要求其达到的效果是,在一个Tab页里面可以实现Activity的调转,网上有人介绍这个方法
ActivityGroup + GridView + ViewFlipper 实现选项卡
效果达到了,但是它引发了一个问题,就是 在activity中调用子activity时捕捉不到返回值,
调用子activity的方法没有错误,代码如下
//启动新窗体
@Override
public void onClick(View v)
{
//添加新列表按钮
if(v.getId()==R.id.btnAddMusicList)
{
//启动一个新的activity(Setting)
Intent intent = new Intent();
intent.setClass(MyMusicListActivity.this, AddNewMusicListActivity.class);
//给新的activity(Setting)
intent.putExtra("MusicListName", "");
startActivityForResult(intent,1);
}
}
//获取返回结果,但是这段代码根本就没有执行
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
if(resultCode==RESULT_OK)
{
String strName=data.getExtras().getString("strListName");
if(!strName.equals(""))
{
myDb.insertData( strName);
ShowMusicList();
}
}
}
有人知道这是怎么回事吗,该如何解决呢 ??????????
...全文
635 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaohanjiangit 2012-02-28
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 sknice 的回复:]

引用 7 楼 peijiangping1989 的回复:

引用 5 楼 sknice 的回复:

引用 4 楼 peijiangping1989 的回复:

ActivityGroup是将Activity加入到这个ActivityGroup中了。他们里面的Activity就相当于一个view,失去了很多Activity的特性了。你的那断代码根本就不回执行的哦。你如果需要在切换的时候……
[/Quote]
楼主这个问题解决了吗
dafen496050286 2011-09-27
  • 打赏
  • 举报
回复
子activity中这样写:
public void onClick(View v)
{
//添加新列表按钮
if(v.getId()==R.id.btnAddMusicList)
{
//启动一个新的activity(Setting)
Intent intent = new Intent();
intent.setClass(MyMusicListActivity.this, AddNewMusicListActivity.class);
//给新的activity(Setting)
intent.putExtra("MusicListName", "");
getParent().startActivityForResult(intent,1);
}
}
//获取返回结果,但是这段代码根本就没有执行
@Override
public void handleActivityResult(int requestCode, int resultCode, Intent data)
{
if(resultCode==RESULT_OK)
{
String strName=data.getExtras().getString("strListName");
if(!strName.equals(""))
{
myDb.insertData( strName);
ShowMusicList();
}
}
}
父activity中:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode==RESULT_OK){
子activity activit =(子activity)getLocalActivityManager().getCurrentActivity();
activit.handleActivityResult(requestCode, resultCode, data);
}
}
小裴同学 2011-09-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sknice 的回复:]

引用 4 楼 peijiangping1989 的回复:

ActivityGroup是将Activity加入到这个ActivityGroup中了。他们里面的Activity就相当于一个view,失去了很多Activity的特性了。你的那断代码根本就不回执行的哦。你如果需要在切换的时候传值,可以换个方法。比如:在点击GridView 的时候获取当前的position在点击事件中进行相关的操作……
[/Quote]

一点都不奇怪啊,你看看你的Activitygroup代码就知道了,子activity只是加入到父类的容器中。所以onActivityResult代码不会执行的。
sknice 2011-09-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 peijiangping1989 的回复:]

引用 5 楼 sknice 的回复:

引用 4 楼 peijiangping1989 的回复:

ActivityGroup是将Activity加入到这个ActivityGroup中了。他们里面的Activity就相当于一个view,失去了很多Activity的特性了。你的那断代码根本就不回执行的哦。你如果需要在切换的时候传值,可以换个方法。比如:在点击GridView 的时候获取当前……
[/Quote]

只要把子activity添加到了ActivityGroup中,返还结果就一定获取不到吗,无论在什么地方捕获,有没有办法
在其他的地方可以捕获,比如在父activity中或者其他的什么地方,我试过在父的activity中捕获也不行
sknice 2011-09-04
  • 打赏
  • 举报
回复
没有满意答案
sknice 2011-09-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 peijiangping1989 的回复:]

ActivityGroup是将Activity加入到这个ActivityGroup中了。他们里面的Activity就相当于一个view,失去了很多Activity的特性了。你的那断代码根本就不回执行的哦。你如果需要在切换的时候传值,可以换个方法。比如:在点击GridView 的时候获取当前的position在点击事件中进行相关的操作。方法还有很多。
[/Quote]
我使用 context.sendBroadcast(intent); 发广播来通知父类了,它不返还结果感觉很奇怪。
小裴同学 2011-09-02
  • 打赏
  • 举报
回复
ActivityGroup是将Activity加入到这个ActivityGroup中了。他们里面的Activity就相当于一个view,失去了很多Activity的特性了。你的那断代码根本就不回执行的哦。你如果需要在切换的时候传值,可以换个方法。比如:在点击GridView 的时候获取当前的position在点击事件中进行相关的操作。方法还有很多。
Andy_nanchang 2011-09-02
  • 打赏
  • 举报
回复
我估计你点返回就会执行,但是你点的应该是调用的onClick,新开了一个Activity
sknice 2011-09-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 othereyeopen 的回复:]

onActivityResult你是怎么知道没执行的?
你加点log,给大家贴上来
[/Quote]
我调试的加断点都不停,

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
if(resultCode==RESULT_OK)
{
String strName=data.getExtras().getString("strListName");
if(!strName.equals(""))
{
myDb.insertData( strName);
ShowMusicList();
}
}
}


这段代码根本就没有执行
OtherEyeOpen 2011-09-01
  • 打赏
  • 举报
回复
onActivityResult你是怎么知道没执行的?
你加点log,给大家贴上来

80,352

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧