ANDROID开发之问题积累及解决方案(不断更新)

一、activity跳转及传值

  当进行activity之间的跳转时我们会遇到这样的问题。首先熟悉下activity之间跳转。Activity跳转与传值,主要是通过Intent类来连接多个Activity,以及传递数据。几种跳转方式可参照Android之Activity的几种跳转方式Activity的跳转与传值,下面来说说开发时遇到的错误。

1、Internal Server error

  在开发工程时,有6个activity,又新增一个activity,这个activity有listview,目的是从这个新增的activity点击item跳转到另外的6个activity,如下代码:

public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                //这里做跳转,跳转到各自对应的页
                switch (position) {
                case 1:
                    openActivity(TariffMajorGoodsListActivity.class);
                    break;
                case 2:
                    openActivity(TariffNativeDirectoryListActivity.class);
                    break;
                case 3:
                    openActivity(TariffTaxRateListActivity.class);
                    break;
                case 4:
                    openActivity(TariffCommentaryListActivity.class);
                    break;
                case 5:
                    openActivity(ClassifyDecisionListActivity.class);
                    break;
                case 6:
                    openActivity(ClassifyAdjudicationListActivity.class);
                    break;
                default:
                    break;
                }
            }
protected void openActivity(Class<?> pClass) {
        openActivity(pClass, null);
    }

    protected void openActivity(Class<?> pClass, Bundle pBundle) {
        Intent intent = new Intent(this, pClass);
        if (pBundle != null) {
            intent.putExtras(pBundle);
        }
        startActivity(intent);
    }

    protected void openActivity(String pAction) {
        openActivity(pAction, null);
    }

    protected void openActivity(String pAction, Bundle pBundle) {
        Intent intent = new Intent(pAction);
        if (pBundle != null) {
            intent.putExtras(pBundle);
        }
        startActivity(intent);
    }

然而,运行程序时,程序在点击跳转时报Internal Server error错误,直译为“内部服务器错误”,所以错就在Manifest.xml了,就让我们认识下它吧AndroidManifest.xml配置文件详解 ,仔细查看Manifest.xml,确认是正确的,这就纳闷了~~哪里的错了???顺手点了根烟,边抽边想,这个调的web接口啊,或许是参数不对,抽完马上查看,果然是这里的问题,立马给它传个参数。

public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                //这里做跳转,跳转到各自对应的页
                Bundle mBundle = new Bundle();
                Gson gson = new Gson();
                switch (position) {
                case 1:
                    MajorGoodsEntity majorGoodsEntity = new MajorGoodsEntity(null,datatotal,null,datatotal,null, null, null, null);
                    mBundle.putSerializable("majorGoods", majorGoodsEntity);
                    openActivity(TariffMajorGoodsListActivity.class,mBundle);
                    break;
                case 2:
                    NativeDirectoryEntity directoryEntity = new NativeDirectoryEntity(null,datatotal);
                    mBundle.putSerializable("nativeDirectory", directoryEntity);
                    openActivity(TariffNativeDirectoryListActivity.class,mBundle);
                    break;
                case 3:
                    TariffEntity queryEntity = new TariffEntity(null, datatotal,null, null, null, null, null, null, null, null);
                    mBundle.putSerializable("tariffQueryEntity", gson.toJson(queryEntity,TariffEntity.class));
                    openActivity(TariffTaxRateListActivity.class,mBundle);
                    break;
                case 4:
                    TariffCommentaryItemEntity commentaryItemEntity = new TariffCommentaryItemEntity(null, datatotal, null, null,null);
                    mBundle.putSerializable("commentaryItemEntity",commentaryItemEntity);
                    openActivity(TariffCommentaryListActivity.class,mBundle);
                    break;
                case 5:
                    ClassifyPublicationEntity entity =new ClassifyPublicationEntity("D",null, datatotal, null, null,null, null, null, null);
                    mBundle.putSerializable("conditionJSON", gson.toJson(entity, ClassifyPublicationEntity.class));
                    openActivity(ClassifyDecisionListActivity.class,mBundle);
                    break;
                case 6:
                    ClassifyPublicationEntity entitys =new ClassifyPublicationEntity("R",null,datatotal,null,null,null,null,null, null);
                    mBundle.putSerializable("conditionJSON", gson.toJson(entitys, ClassifyPublicationEntity.class));
                    openActivity(ClassifyAdjudicationListActivity.class,mBundle);
                    break;
                default:
                    break;
                }
            }

哈哈,这样一debug,果然调方法了,此问题完美解决。

时间: 2024-09-30 05:12:39

ANDROID开发之问题积累及解决方案(不断更新)的相关文章

ANDROID开发之问题积累及解决方案(二)

错误:“Binary XML file line # : Error inflating class” 原因:此异常是布局文件中有错引起的,那么返回到布局文件中看看. <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_wid

Android开发环境搭建常见问题(不定时更新)

1.关于 Parsing Data for android-L failed Unsupported major.minor version 51.0 错误 错误解决方案: 升级Android L,要求编译环境为jdk1.7,所以环境是jdk1.6的IDE会报 "Parsing Data for android-L failed Unsupported major.minor version 51.0" 错误,需要升级JDK了. Android开发环境搭建常见问题(不定时更新)

[转]Android开发要看的网站(不断更新中)

Android网址或Blog Android官网 身为Android开发者不知道这个网站就太说不过去了,上面有你任何你需要的东西 Android Developers Blog Android官网博客, 在上面可以关注Android最新的进展与最权威的博客(须翻墙) Android开源项目汇总 我的好朋友Trinea整理的非常全面的GitHub开源项目汇总,不需要重复发明轮子,尽情遨游在开源世界里吧 Android的开源库 国外整理的Android开源库汇总,和上面的比起来分类更明确,你总能很方

Android 开发有用代码积累

Android开发需求变化快,开发周期要求尽量短,接下来一系列文章从实际使用出发总结一些常用的代码片段,便于查找,也为后来人提供一份参考. 1.获取Manifest的基本信息(升级页面和软件关于页面一般会使用到) Context mContext = XXXApplication.getInstance().getApplicationContext(); //获取Application的Context ,当然也可以获取当前的Activity的Context, Application一般是单例

Android 开发环境搭建以及工具(不断更新)

这些网页是从http://source.android.com/source上下载下来的. http://pan.baidu.com/s/1sjoMt5r 下面是Google推荐的Android开发软件Android Studio的介绍及下载地址(不用FQ) http://www.android-studio.org/index.php

android开发could not find class解决方案

网上下了个demo,导入之后运行错误闪退,log提示找不到主activity的onCreate方法,但是其实都有也不报错. 方案来源:http://blog.sina.com.cn/s/blog_6966c76b01011fye.html 解决办法: 1.所建工程中没有导入jar包,如果是把别人的工程import到自己的eclipse中,需要右击工程Bulid Path->Add Libraries->User Library->User Libraries->new(起一个名字

9种常见的Android开发错误及解决方案

整理总结了9个Android开发中的错误以及解决方案,共同探讨进步! 1. 如果你的项目的R文件不见的话,可以试下改版本号在保存,R文件不见一般都是布局文本出错导致. 2. 布局文件不可以有大写字母 3. 抛出如下错误WARNING: Application does not specify an API level requirement!, 是由于没有指定users sdk的缘故,修改AndroidManifest.xml文件. 加入:<uses-sdkandroid:minSdkVersi

使用Visual Studio进行 Android开发的十大理由

[原文发表地址]Top 10 reasons to use Visual Studio for C++ Android Development! Visual Studio: C++跨平台的移动解决方案 Visual Studio (下载地址) 正在迅速成为一个跨平台的C++IDE.我们的目标是让Visual Studio成为您研发C++跨平台代码的选择,无论您的目标是Windows (UWP), Android, iOS, Linux, Xbox, PlayStation, Marmalade

记录我在百度地图开发和ArcGIS for Android开发时出现的一些错误及解决方案(后续更新)

[1]The import com.baidu.mapapi.map.Geometry conflicts with a type defined in the same file 解决:百度api包下的Geometry和某个类名相冲突,将类名换成另外的名字,不要和百度相关类里面的类名相同 [2]java.lang.ClassCastException: 解决:类型转换错误.查看Test_Geometry项目的Mainfest.xml清单文件,在<applicaiton>标签里面少了对Myap