`
wxlgzxx_1988
  • 浏览: 66031 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Android 开发问题记录<一>

阅读更多

今天被TabActivity折服了,在Tab的选项卡所在的activity里面调用startActivityForResult 方法,然后在该activity里面重写了onActivityResult 方法 ,不论我怎么测试  就是不执行onActivityResult 回调方法 ,在一般的activity里面却可以。最后无赖,想到会不会是TabActivity太特殊了,果不其然。
1.我将startActivityForResult 的目标Activity 的启动模式设置成了singleInstance。
   调试了N久也没也没找到哪里出错,后来只好Google,不经意间看到一个随笔,说跟加载模式有关,原来,需要用这样的方法来传值的Activity,的加载模式什么都不能设置,或者设置成标准的模式,不能是singleInstance
于是乎,改之,结果还是不行,后来又发现如下解决办法:
解决办法如下:
 
1.通过父Activity启动其他Activity;
 
2.实现父Activity的onActivityResult方法,将该处接收到的请求转发给当前活动的子Activity;
 
3.自定义一个转发接口用来实现第2步中的转发功能;
 
4.子Activity中实现第3步接口中的方法用来接收返回信息;
 
 
 
代码如下:
 
1.通过父Activity启动其他Activity
 
1 getParent().startActivityForResult(new Intent(...), REQUEST_CODE);  
2.实现父Activity的onActivityResult方法
 
  @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // 获取当前活动的Activity实例
          Activity subActivity = getLocalActivityManager().getCurrentActivity();
         //判断是否实现返回值接口
         if (subActivity instanceof OnTabActivityResultListener) {
             //获取返回值接口实例
           OnTabActivityResultListener listener = (OnTabActivityResultListener) subActivity;
             //转发请求到子Activity
             listener.onTabActivityResult(requestCode, resultCode, data);
        }
         super.onActivityResult(requestCode, resultCode, data);
    } 
 
3.自定义接口来实现
 
/**
 * 解决子Activity无法接收Activity回调的问题
 * @author Administrator
 *
 */
public interface OnTabActivityResultListener {
    public void onTabActivityResult(int requestCode, int resultCode, Intent data);

 
4.子Activity需要实现onTabActivityResult方法
 
@Override
    public void onTabActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
            //实现该处逻辑         ...
        }
    } 
终于,问题解决之,但是后来在子Tab中的ListView要实现长按弹出对话框功能,问题又来了。莫名其妙的报错,后来发现还是需要用父类去调用   this.getParent().setOnItemLongClickListener(...........)
分享到:
评论

相关推荐

    移动App应用服务器开发从入门到精通

    6.1 开发入门:第一个json 新建一个扩展名json的文件,如one.json(下图) 然后录入如下内容 {"item":{ &lt;chtml&gt; &lt;!-- 数据准备部分,您可以从数据库中查询 --&gt; &lt;bag id=item suffix=0&gt; &lt;we name=name&gt;土豆&lt;/we&gt; ...

    Android开发案例驱动教程 配套代码

    《Android开发案例驱动教程》 配套代码。 注: 由于第12,13,14章代码太大,无法上传到一个包中。 这三节代码会放到其他压缩包中。 作者:关东升,赵志荣 Java或C++程序员转变成为Android程序员 采用案例驱动模式...

    新版Android开发教程.rar

    这一联盟将会支持 Google 发布的 Android 手机操作系统或者应用软件,共同开发名为 Android 的 开 放源代码的移动系统。开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员 数 量已经达到了...

    调试信息查看器v1.3.0.52

    在软件开发过程中,在Debug下调试好...&lt;br&gt;&lt;br&gt;支持包含、不包含过滤,能去掉多作的调试信息,快速找到您好的调试信息。&lt;br&gt;支持调试信息文件存储操作。您可以通知客户记录好调试输出信息文件,分析软件中存在的缺陷。

    Android开发之资源文件用法实例总结

    这里记录在Android开发中经常用到的一些用法 arrays.xml定义数组 例: &lt;resources&gt; &lt;!-- share items --&gt; &lt;string name=app_share_items&gt; &lt;item&gt;新浪微博&lt;/item&gt; &lt;item&gt;腾讯微博&lt;/item&gt; &lt;/string&gt; &lt;/...

    Android 开发记录.pdf

    Android 开发记录文档 Android 开发记录文档 Android 开发记录文档 Android 开发记录文档

    android-query 开发包

    AndroidQuery 一个轻量级的库,用于实现 Android 上的异步任务和操作 UI 元素。 项目含有26 个文件源文件,分析如下: auth含有: public class WebDialog extends Dialog 对话框显示网页信息 public class ...

    AndroidAPP开发手机通话记录获取方法

    Android开发手机通话记录获取方法,通过本文档能让你快速了解Android App开发中获取手机通话记录的基本知识

    android开发工作记录表.txt

    平时开发工作中遇到开发的问题,自己记录下来方便工作的开发,android记录表,希望对平时开发新人员来说有帮助的作用,也许合适,也是不太适合,如果下载了没有帮助选择忽视,有帮助的话就最好。

    Android非凡行车记录仪源码

    Android非凡行车记录仪源码,适用于所有类似行车记录仪的应用,包含后台录像、录音等强大功能。录像方案有基于camera2的实现、基于opengles的实现,非常适合相关项目开发者进行参考和复用,也可直接基于此项目进行二...

    Android通话记录开发

    2、 练习目标 ... 使用广播处理处理事件 ...手机最重要的功能就是通话功能,同样储存通话记录也是必不可少的。该案例使用广播接收者自己实现通话记录的功能。包括呼出电话、已接来电、未接来电以及通话产生的时间。

    基于android开发的一个新闻资讯app

    基于android开发的一个新闻资讯app(新闻资源来自聚合数据),里面还有历史记录和收藏,以及登录注册,数据库用到sqlite; 基于android开发的一个新闻资讯app(新闻资源来自聚合数据),里面还有历史记录和收藏,...

    基于Android Studio开发的旅游记录与分享APP源码,Android旅游路线记录与分享APP源码

    一款旅游路线记录与分享的Android应用,支持路线规划和分享、旅游过程记录和旅游社交等功能, 旨在为用户提供一个方便快捷的旅游私人订制、记录和分享的应用

    Android游戏开发第一次会议记录.txt

    Android游戏开发第一次会议记录.txt

    Android开发错误记录

    开发Android项目过程中遇到的错误。

    Android开发实验---通讯录.docx

    由于界面设置繁琐,代码页过多,所以挑出其中的一部分进行说明 首先是DB数据库建库过程: Android开发实验---通讯录全文共25页,当前为第3页。package com.xample.hivian.my_contact_manager.models.db; import ...

    Android应用开发记录-字幕播放器(4)完成

    &lt;&lt;Android应用开发记录-字幕播放器(4)完成&gt;&gt;配合的工程文件,源码,用于动作确认的歌曲及歌词 另外,工程是针对Android2.2建立的。 如果想在Android2.1运行,可以修改工程文件或从下面地址下载针对2.1做的安装包,...

    Android开发备忘录

    设计和实现一个类似个人备忘录的 Android APP ,数据库采用 SQLite (也可以直接访问 Web 端 MySQL 数据库、或提供 Web 接口访问 MySQL 数据库)。 1.用户注册和登录(这类 APP 一般面对个人,用户不需要分类别); ...

Global site tag (gtag.js) - Google Analytics