iew ager-Android PagerAdapter里面的NullPointException

问题描述

Android PagerAdapter里面的NullPointException

是这样的,我做了一个实现ViewPager的程序,包含两个View页面;
我在其中一个View页面中添加了Button按钮,然后在MainActivity里面写Button点击
事件的时候总是没有响应,然后在网上查了一下说应该在PagerAdapter的instantiateItem方法里面实例化Button然后写响应事件,下面是我的代码:

 public Object instantiateItem(ViewGroup container, int position) {
        switch (position) {
        case 1:
            musicName = (EditText) theList.get(position).findViewById(
                    R.id.musicname_edittext);
            singerName = (EditText) theList.get(position).findViewById(
                    R.id.singername_edittext);
            Button searchButton = (Button) theList.get(position).findViewById(
                    R.id.search_button);
            Button resetButton = (Button) theList.get(position).findViewById(
                    R.id.reset_button);
            // 搜索按钮点击事件
            searchButton.setOnClickListener(new OnClickListener() {

                // 通过用户输入的歌名和歌手名获取url,通过url获取xml文件输入流,然后sax解析xml输入流
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    String urlString = getUrl();
                    GetInputStreamAsyncTask getInputTask = new GetInputStreamAsyncTask();
                    getInputTask.execute(urlString);
                    inputStream = getInputTask.getInputStream();
                    saxParseXML(inputStream);

                }
            });
            // 重置按钮点击事件
            resetButton.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    musicName.setText("");
                    singerName.setText("");
                }
            });
            break;
        default:
            break;
        }

        container.addView(theList.get(position), 0);
        return theList.get(position);
    }

我在一个Button响应事件中想使用AsyncTask获取网络上一个xml文件的InputStream,然后用sax解析这个InputStream,下面是我的AsycTask类的代码:

```public class GetInputStreamAsyncTask extends AsyncTask{

private InputStream inputStream;
public GetInputStreamAsyncTask(){
}
public InputStream getInputStream() {

    return inputStream;

}

@Override
protected Boolean doInBackground(String... params) {
    // TODO Auto-generated method stub
    DownloadDataByUrl dl=new DownloadDataByUrl();
    try {
        inputStream=dl.getInputStreamFromUrl(params[0]);
        byte[] b = new byte[1024];
        StringBuilder sb = new StringBuilder();
        int len = -1;
        try {
            while ((len = inputStream.read(b)) != -1) {
                sb.append(new String(b, 0, len));
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        System.out.println("xiaoqiang:" + sb);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return null;
}

}

可以看到我在doInBackGround方法里面获取InputStream后进行了输出操作,而且运行程序后输出了完整的xml文件字符,如下:
![图片说明](http://img.ask.csdn.net/upload/201507/20/1437407420_269505.png)

这个是logcat的错误信息,我在 getInputTask.execute(urlString); 语句后面调用了System.out.println()输出语句成功。但是在saxParseXML(inputStream);语句之前调用System.out.println()输出语句失败。
![图片说明](http://img.ask.csdn.net/upload/201507/20/1437407573_37315.png)

调试了一整天也没有找出问题所在,求解~~

解决方案

android-PagerAdapter

解决方案二:

抱歉图片没上传成功:这是获取InputStream后转化为String输出的LogCat

解决方案三:

这是LogCat的异常信息:

解决方案四:

为什么你的boolean return的是null?

时间: 2024-11-30 01:30:32

iew ager-Android PagerAdapter里面的NullPointException的相关文章

android:actionbar-android里面的ActionBar有办法去掉主题吗?

问题描述 android里面的ActionBar有办法去掉主题吗? 创建一个android项目,我想用到ActionBar,又想去掉主题那一层灰色,求解决思路! 解决方案 menifest里修改application的theme值为继承NoActionBar

android里面的toJSON方法怎么用?

问题描述 android里面的toJSON方法怎么用? android里面的toJSON方法怎么用?我将一个java对象toJSON,貌似没有这个方法的样子吧 解决方案 .NET 3.5新特性-实现ToJSON扩展方法Android--调用服务里面的方法NET 3.5实现ToJSON扩展方法--DataContractJsonSerializer 解决方案二: 没有就自己写一个toJOSN方法啊 解决方案三: 举个例子: public class Account { private double

Android Service生命周期 Service里面的onStartCommand()方法详解

在Demo上,Start一个Service之后,执行顺序:onCreate - > onStartCommand 然后关闭应用,会重新执行上面两步. 但是把代码拷贝到游戏工程发现,关闭游戏后,只执行了onStart,却没有执行onStartCommand! 查找到下面的文章: [plain] view plain copy   Service里面的onStartCommand()方法详解      启动service的时候,onCreate方法只有第一次会调用,onStartCommand和on

jquery-JQuery 语句,easyui里面的,能不能给解释下什么意思? 函数如何调用的,谢谢了

问题描述 JQuery 语句,easyui里面的,能不能给解释下什么意思? 函数如何调用的,谢谢了 function saveUser(){ $('#fm').form('submit',{//当提交表单时候,会发生submit事件 url: url, onSubmit: function(){ return $(this).form('validate'); }, success: function(result){ var result = eval('('+result+')'); if

div布局-div中加div,如果里面的div给margin-top,则外面的div就会整体下移,如何解决

问题描述 div中加div,如果里面的div给margin-top,则外面的div就会整体下移,如何解决 div布局中:div中加div,如果里面的div给margin-top,则外面的div就会整体下移,如何解决 解决方案 你外层div高度是否是固定的,如果是固定的可以改成百分比的: 上面是一个解决办法; 还有一个,如果你外层div定义了样式,你可以将border去掉,这样就可以margin-top了,假设这个网页就这两个div,则里面的div的margin-top是针对网页的 body所言的

fragement-android中,如何获取添加到layout里面的fragment的引用?

问题描述 android中,如何获取添加到layout里面的fragment的引用? FragmentTransaction fragmentTransaction =getFragmentManager().beginTransaction(); fragmentTransaction.add(R.id.content_frame mapFragment); fragmentTransaction.commit(); 按上面的添加方式,我如何才能获取到R.id.content_frame这个f

java中监听接口里面的onclick方法为什么被称为回调方法

问题描述 java中监听接口里面的onclick方法为什么被称为回调方法 那普通接口有回调方法吗,普通类有回调方法吗, 回调方法是如何定义的 解决方案 你别被回调这个词搞蒙了,其实就是把方法当做参数而已 解决方案二: 因为onclick你定义了,不是自己调用,而是间接由按钮点击后系统类库去调用,所以叫回调. 英文叫做callback. 解决方案三: 回调方法简单的说就是a方法都用b方法,b方法执行过程中需要调用a方法,callback 解决方案四: [个人向]Android回调接口的实现方法ja

怎么在android手机里,导入3ds的文件啊?

问题描述 怎么在android手机里,导入3ds的文件啊?用eclipse开发 解决方案 解决方案二:关注,请问有结果了吗?解决方案三:必须对3DS格式有些了解,使用Opengl来显示.解决方案四:现在可以了,用了一个引擎,看着里面的demo改一下就可以jpct

asynctask-Android 关于服务里面的AsyncTask方法问题

问题描述 Android 关于服务里面的AsyncTask方法问题 最近,小弟在写一个拦截短信的android 程序,在开启拦截服务这个地方被卡了好几天了, 换了好几种思路,最后参考一种网上的思路用了AsyncTask这种思路. 但是运行程序的时候报错,但是不太清楚哪里出错了,求大神帮看一看服务的这个包. public class MsgService extends Service{ private boolean D=true; private ReceiveMessage mReceive