Android的闪退问题

                                                                                                  android的闪退问题2

以我目前的所做的项目所遇到的闪退问题主要表现在以下两个方面

1,比如做百度地图时会遇到闪退问题。主要原因是你所做的项目没有加载百度的架包。如下图所示。

2,比如我做的湘雅3e院项目,就是因为这个原因,但点击医院指南就出现闪退问题。

当打红线的这个包为空,大概就是百度地图之类的架包没有加进去,就会出现闪退问题。


2,出现闪退问题是,控制台会出现错误信息,这是因为activity没有正确访问到.xml控件导致的@+idxxxxxx

例如


package com.zjrc.zsyybz.activity;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;

import org.json.JSONException;
import org.json.JSONObject;

import com.zjrc.zsyybz.R;
import com.zjrc.zsyybz.adapter.DiagnosisCostAdapter;
import com.zjrc.zsyybz.common.AsyncTaskManager2;
import com.zjrc.zsyybz.common.AsyncTaskPost.onDataRecvListener2;
import com.zjrc.zsyybz.common.JsonUtil;
import com.zjrc.zsyybz.common.LogUtil;
import com.zjrc.zsyybz.common.NetworkUtil;
import com.zjrc.zsyybz.common.ProcessDlgAction;
import com.zjrc.zsyybz.common.ProcessDlgAction.onProcessDialogListener;
import com.zjrc.zsyybz.data.DiagnosisCost;
import com.zjrc.zsyybz.data.SaveDataGlobal;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ExpandableListView;
import android.widget.ExpandableListView.OnChildClickListener;
import android.widget.TextView;
/**@author Administrator
 * 张松
 */
public class ZhenJianAccountActivity extends BaseActivity{
    
    private  TextView tv_waitpayMoney, tv_allpayMoney;
    private  int white = 0;//getResources().getColor(R.color.android_white);
    private  int blue = 0;//getResources().getColor(R.color.titlebar_bg);
    private ExpandableListView costExpandableListView;
    private final List<Date> groupDateList = new ArrayList<Date>();
    private final List<List<DiagnosisCost>> dialogCostList = new ArrayList<List<DiagnosisCost>>();
    private DiagnosisCostAdapter  diagnosisCostAdapter=null;
    private final ProcessDlgAction processObj = new ProcessDlgAction();
    protected AsyncTaskManager2 sockMngObj2 = new AsyncTaskManager2();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.zhenjianaccount);
        white = getResources().getColor(R.color.android_white);
        blue = getResources().getColor(R.color.titlebar_bg);
        setTitle("诊间结算");
        initView();
        try {
            fillData();
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
        
    

    private void initView(){
        tv_waitpayMoney=(TextView) findViewById(R.id.tv_waitpayMoney);
        tv_allpayMoney=(TextView) findViewById(R.id.tv_allMoney);
        costExpandableListView=(ExpandableListView) findViewById(R.id.expandableListView);//红色表示正确的@+xxxx

        costExpandableListView=(ExpandableListView) findViewById(R.id.expandableList);

          如果是引用蓝色的地方,就会报下面的空指针异常。
        diagnosisCostAdapter=new DiagnosisCostAdapter(ZhenJianAccountActivity.this, groupDateList, dialogCostList);
        costExpandableListView.setAdapter(diagnosisCostAdapter);
        
        //等待结算
        tv_waitpayMoney.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                tv_waitpayMoney.setTextColor(white);
                tv_waitpayMoney.setBackgroundResource(R.drawable.tab_choosed);
                tv_allpayMoney.setTextColor(blue);
                tv_allpayMoney.setBackgroundResource(R.drawable.tab_default);
            }
        });
        //全部
        tv_allpayMoney.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                tv_allpayMoney.setBackgroundResource(R.drawable.tab_choosed);
                tv_allpayMoney.setTextColor(white);
                tv_waitpayMoney.setBackgroundResource(R.drawable.tab_default);
                tv_waitpayMoney.setTextColor(blue);
            }
        });
        costExpandableListView.setOnChildClickListener(new OnChildClickListener() {
            
            @Override
            public boolean onChildClick(ExpandableListView parent, View v,
                    int groupPosition, int childPosition, long id) {
                // TODO Auto-generated method stub
                DiagnosisCost dcost = dialogCostList.get(groupPosition).get(childPosition);
                Bundle bundle = new Bundle();
                bundle.putSerializable("diagnosiscost", dcost);
                Intent intent = new Intent(ZhenJianAccountActivity.this, ZhenJianDetailActivity.class);
                intent.putExtra("data", bundle);
                startActivity(intent);
                return true;
            }
        });
        
    }
    private void fillData() throws ParseException {
        groupByDate(initData());
        diagnosisCostAdapter.notifyDataSetChanged();
        for (int i = 0; i < diagnosisCostAdapter.getGroupCount(); i++) {
            costExpandableListView.expandGroup(i);
        }
    }
    private List<DiagnosisCost> initData() throws ParseException {
        List<DiagnosisCost> dCostList = new ArrayList<DiagnosisCost>();

        DiagnosisCost dcost = new DiagnosisCost();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        dcost.setAddDate(sdf.parse("2015-05-11"));
        dcost.setCost(10.00f);
        dcost.setCostType("诊疗费用");
        dcost.setDepartmentName("骨科");
        dcost.setPayStatus("未付费");
        dCostList.add(dcost);

        DiagnosisCost dcost1 = new DiagnosisCost();
        dcost1.setAddDate(sdf.parse("2014-09-22"));
        dcost1.setCost(50.00f);
        dcost1.setCostType("诊疗费用");
        dcost1.setDepartmentName("消化内科");
        dcost1.setPayStatus("未付费");
        dCostList.add(dcost1);

        DiagnosisCost dcost2 = new DiagnosisCost();
        dcost2.setAddDate(sdf.parse("2014-09-22"));
        dcost2.setCost(50.00f);
        dcost2.setCostType("诊疗费用");
        dcost2.setDepartmentName("风湿免疫门诊");
        dcost2.setPayStatus("已付费");
        dCostList.add(dcost2);

        DiagnosisCost dcost3 = new DiagnosisCost();
        dcost3.setAddDate(sdf.parse("2015-09-22"));
        dcost3.setCost(50.00f);
        dcost3.setCostType("诊疗费用");
        dcost3.setDepartmentName("风湿免疫门诊");
        dcost3.setPayStatus("已付费");
        dCostList.add(dcost3);

        return dCostList;
    }


这就是异常错误信息

AndroidRuntime(1526): FATAL EXCEPTION: main
07-19 05:29:37.661: ERROR/AndroidRuntime(1526): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.zjrc.zsyybz/com.zjrc.zsyybz.activity.ZhenJianAccountActivity}: java.lang.NullPointerException
07-19 05:29:37.661: ERROR/AndroidRuntime(1526):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
07-19 05:29:37.661: ERROR/AndroidRuntime(1526):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
07-19 05:29:37.661: ERROR/AndroidRuntime(1526):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
07-19 05:29:37.661: ERROR/AndroidRuntime(1526):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
07-19 05:29:37.661: ERROR/AndroidRuntime(1526):     at android.os.Handler.dispatchMessage(Handler.java:99)
07-19 05:29:37.661: ERROR/AndroidRuntime(1526):     at android.os.Looper.loop(Looper.java:130)
07-19 05:29:37.661: ERROR/AndroidRuntime(1526):     at android.app.ActivityThread.main(ActivityThread.java:3683)
07-19 05:29:37.661: ERROR/AndroidRuntime(1526):     at java.lang.reflect.Method.invokeNative(Native Method)
07-19 05:29:37.661: ERROR/AndroidRuntime(1526):     at java.lang.reflect.Method.invoke(Method.java:507)
07-19 05:29:37.661: ERROR/AndroidRuntime(1526):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
07-19 05:29:37.661: ERROR/AndroidRuntime(1526):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
07-19 05:29:37.661: ERROR/AndroidRuntime(1526):     at dalvik.system.NativeStart.main(Native Method)
07-19 05:29:37.661: ERROR/AndroidRuntime(1526): Caused by: java.lang.NullPointerException
07-19 05:29:37.661: ERROR/AndroidRuntime(1526):     at com.zjrc.zsyybz.activity.ZhenJianAccountActivity.initView(ZhenJianAccountActivity.java:69)
07-19 05:29:37.661: ERROR/AndroidRuntime(1526):     at com.zjrc.zsyybz.activity.ZhenJianAccountActivity.onCreate(ZhenJianAccountActivity.java:53)

07-19 05:29:37.661: ERROR/AndroidRuntime(1526):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
07-19 05:29:37.661: ERROR/AndroidRuntime(1526):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
07-19 05:29:37.661: ERROR/AndroidRuntime(1526):     ... 11 more
07-19 05:29:37.680: WARN/ActivityManager(849):   Force finishing activity com.zjrc.zsyybz/.activity.ZhenJianAccountActivity
07-19 05:29:37.680: WARN/ActivityManager(849):   Force finishing activity com.zjrc.zsyybz/.activity.HomepageActivityGrid
07-19 05:29:38.190: WARN/ActivityManager(849): Activity pause timeout for HistoryRecord{b6785640 com.zjrc.zsyybz/.activity.ZhenJianAccountActivity}
07-19 05:29:39.520: INFO/Process(1526): Sending signal. PID: 1526 SIG: 9
07-19 05:29:39.531: INFO/ActivityManager(849): Process com.zjrc.zsyybz (pid 1526) has died.
07-19 05:29:39.531: WARN/ActivityManager(849): Scheduling restart of crashed service com.zjrc.zsyybz/.service.NoticeService in 5000ms
07-19 05:29:39.531: INFO/WindowManager(849): WIN DEATH: Window{b67741c0 com.zjrc.zsyybz/com.zjrc.zsyybz.activity.HomepageActivityGrid paused=true}
07-19 05:29:39.531: INFO/WindowManager(849): WIN DEATH: Window{b68a5fc0 com.zjrc.zsyybz/com.zjrc.zsyybz.activity.HomepageActivityGrid paused=true}
07-19 05:29:39.590: WARN/InputManagerService(849): Got RemoteException sending setActive(false) notification to pid 1526 uid 10031
07-19 05:29:42.911: INFO/ActivityManager(849): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.zjrc.zsyybz/.activity.StartupActivity } from pid 943
07-19 05:29:42.920: INFO/ActivityManager(849): Start proc com.zjrc.zsyybz for activity com.zjrc.zsyybz/.activity.StartupActivity: pid=1544 uid=10031 gids={1007, 3003, 1015, 1006}





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值