android_com 2015-07-23 17:05 采纳率: 33.3%
浏览 1813

Android中空指针异常的具体错误改正

import java.sql.Date;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

private ImageView zy, ZyImge;
private TextView ZyLine, ZyLeade, ZyAb;
private String url;


private SimpleAdapter adapter;
private DBUtil dbUtil;
protected static final int MSG_OK = 0;
private ListView lv = null;
//private MyAdapter myAdapter = null;
private List<Card> list = new ArrayList<Card>();

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.adapter_item);
    zy = (ImageView) findViewById(R.id.zhengyou_list_img);
    ZyImge = (ImageView) findViewById(R.id.zhengyou_list_luxian);
    ZyLeade = (TextView) findViewById(R.id.zhengyou_list_name);
    ZyLine = (TextView) findViewById(R.id.zhengyou_list_title);
    ZyAb = (TextView) findViewById(R.id.zhengyou_list_time);

    final String ZyLines = getIntent().getExtras().getString("ZyLines");
    final String ZyImage = getIntent().getExtras().getString("ZyImage");
    final String ZyLeader = getIntent().getExtras().getString("ZyLeader");
    final String ZyAbs = getIntent().getExtras().getString("ZyAbs");

    ZyLine.setText(ZyLines);

    ZyLeade.setText(ZyLeader);
    ZyAb.setText(ZyAbs);


}

}

logcat中错误提示:
Caused by: java.lang.NullPointerException
07-24 09:00:34.209: E/AndroidRuntime(9339): at com.example.lianwang.MainActivity.onCreate(MainActivity.java:55)
07-24 09:00:34.209: E/AndroidRuntime(9339): at android.app.Activity.performCreate(Activity.java:5122)
07-24 09:00:34.209: E/AndroidRuntime(9339): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)
07-24 09:00:34.209: E/AndroidRuntime(9339): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2270)

我想问如何改正,错误的原因是什么

展开全部

  • 写回答

5条回答 默认 最新

  • danielinbiti 2015-07-23 17:11
    关注
    MainActivity.java:55
     看一下MainActivity.java第55行是什么
     这里可能空指针的一般看findViewById有没有找到对应的组件,如果没找到
     ZyLine.setText(ZyLines); 
        ZyLeade.setText(ZyLeader);
        ZyAb.setText(ZyAbs);
            上面几个都会报空指针
            另外看参数都否传入getIntent().getExtras()
    
            这段代码主要这两种空指针
    
    评论
  • Arnold9009 2015-07-23 17:58
    关注

    是不是ZyImage命名冲突导致的?

    评论
  • 两条腿的小毛驴 2015-07-23 19:20
    关注

    首先,以你MainActivity的命名来看,这个Activity很可能是你应用的第一个活动,也就是打开应用最先看到的就是这个activity,如果是这样那你这些代码:
    final String ZyLines = getIntent().getExtras().getString("ZyLines");
    final String ZyImage = getIntent().getExtras().getString("ZyImage");
    final String ZyLeader = getIntent().getExtras().getString("ZyLeader");
    final String ZyAbs = getIntent().getExtras().getString("ZyAbs");

        是不可能获取到值的。
        这几句的带码可以理解为从别的activity跳转到本avtivity时附带的值,你直接就打开这个activity所以时不会取到值的。
    
        然后报错已经报得很明确了,你要学会看报错的信息。MainActivity的第55行出现了空指针,可能第55使用了未定义或者错误定义的对象。
    
        最后是我猜测
        zy = (ImageView) findViewById(R.id.zhengyou_list_img);
    ZyImge = (ImageView) findViewById(R.id.zhengyou_list_luxian);
    ZyLeade = (TextView) findViewById(R.id.zhengyou_list_name);
    ZyLine = (TextView) findViewById(R.id.zhengyou_list_title);
    ZyAb = (TextView) findViewById(R.id.zhengyou_list_time);
    
        这些代码里的id所指的控件不在adapter_item这个xml文件里,所以找不到,然后后面直接setText,所以出现了空指针。
    
    评论
  • 两条腿的小毛驴 2015-07-23 19:20
    关注

    首先,以你MainActivity的命名来看,这个Activity很可能是你应用的第一个活动,也就是打开应用最先看到的就是这个activity,如果是这样那你这些代码:
    final String ZyLines = getIntent().getExtras().getString("ZyLines");
    final String ZyImage = getIntent().getExtras().getString("ZyImage");
    final String ZyLeader = getIntent().getExtras().getString("ZyLeader");
    final String ZyAbs = getIntent().getExtras().getString("ZyAbs");

        是不可能获取到值的。
        这几句的带码可以理解为从别的activity跳转到本avtivity时附带的值,你直接就打开这个activity所以时不会取到值的。
    
        然后报错已经报得很明确了,你要学会看报错的信息。MainActivity的第55行出现了空指针,可能第55使用了未定义或者错误定义的对象。
    
        最后是我猜测
        zy = (ImageView) findViewById(R.id.zhengyou_list_img);
    ZyImge = (ImageView) findViewById(R.id.zhengyou_list_luxian);
    ZyLeade = (TextView) findViewById(R.id.zhengyou_list_name);
    ZyLine = (TextView) findViewById(R.id.zhengyou_list_title);
    ZyAb = (TextView) findViewById(R.id.zhengyou_list_time);
    
        这些代码里的id所指的控件不在adapter_item这个xml文件里,所以找不到,然后后面直接setText,所以出现了空指针。
    
    评论
  • xrc906522694 2015-07-23 21:05
    关注

    首先,以你MainActivity的命名来看,这个Activity很可能是你应用的第一个活动,也就是打开应用最先看到的就是这个activity,如果是这样那你这些代码:
    final String ZyLines = getIntent().getExtras().getString("ZyLines");
    final String ZyImage = getIntent().getExtras().getString("ZyImage");
    final String ZyLeader = getIntent().getExtras().getString("ZyLeader");
    final String ZyAbs = getIntent().getExtras().getString("ZyAbs");
    是不可能获取到值的。
    这几句的带码可以理解为从别的activity跳转到本avtivity时附带的值,你直接就打开这个activity所以时不会取到值的。

    然后报错已经报得很明确了,你要学会看报错的信息。MainActivity的第55行出现了空指针,可能第55使用了未定义或者错误定义的对象。
    
    最后是我猜测
    zy = (ImageView) findViewById(R.id.zhengyou_list_img);
    

    ZyImge = (ImageView) findViewById(R.id.zhengyou_list_luxian);
    ZyLeade = (TextView) findViewById(R.id.zhengyou_list_name);
    ZyLine = (TextView) findViewById(R.id.zhengyou_list_title);
    ZyAb = (TextView) findViewById(R.id.zhengyou_list_time);

    这些代码里的id所指的控件不在adapter_item这个xml文件里,所以找不到,然后后面直接setText,所以出现了空指针。
    
    评论
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 lvm2被mask了,怎么unmask都没用(标签-ubuntu|关键词-apt)
  • ¥15 交叉注意力机制的残差问题
  • ¥15 微信小程序:渲染收货地址时页面不显示
  • ¥20 win7 64位DirectShow提示初始化失败如何解决?
  • ¥20 小规模孤立词识别系统设计
  • ¥15 关于Java对接海康威视车牌识别一体机SDK是否需要固定外网的IP?
  • ¥15 Linux扩容时,格式化卡住了:vgdispaly查看卷组信息,没有输出
  • ¥18 关于#ubuntu#的问题:使用背景-工作职责内有七八台ubuntu系统的电脑,平时需要互相调取资料,想实现把这几台电脑用交换机组成一个局域网,来实现指定文件夹的互相调取和写入
  • ¥20 求一个简易射频信号综测仪
  • ¥15 esp8266 tally灯 接收端改为发射端
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部