当前位置: 代码迷 >> 多核软件开发 >> ActivityGroup + GridView + ViewFlipper 实现选项卡 引发的奇怪有关问题
  详细解决方案

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

热度:2997   发布时间:2013-02-26 00:00:00.0
ActivityGroup + GridView + ViewFlipper 实现选项卡 引发的奇怪问题
项目需要使用一个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();
  }
  }
  }
有人知道这是怎么回事吗,该如何解决呢 ??????????

------解决方案--------------------------------------------------------
onActivityResult你是怎么知道没执行的?
你加点log,给大家贴上来
------解决方案--------------------------------------------------------
我估计你点返回就会执行,但是你点的应该是调用的onClick,新开了一个Activity
------解决方案--------------------------------------------------------
ActivityGroup是将Activity加入到这个ActivityGroup中了。他们里面的Activity就相当于一个view,失去了很多Activity的特性了。你的那断代码根本就不回执行的哦。你如果需要在切换的时候传值,可以换个方法。比如:在点击GridView 的时候获取当前的position在点击事件中进行相关的操作。方法还有很多。