当前位置: 首页 > 知识库问答 >
问题:

凌空NullPointerException

欧阳鸿哲
2023-03-14

我使用的是volley.jar,在编译时没有错误,但是有运行时异常。

然后添加volley.jar和build path。什么是问题?

CustomAdapter.java

public class CustomAdapter extends BaseAdapter {

Context context;
List<Games> rowItems;

public CustomAdapter(Context context, List<Games> rowItems) {
    this.context = context;
    this.rowItems = rowItems;
}

@Override
public int getCount() {
    return rowItems.size();
}

@Override
public Object getItem(int position) {
    return rowItems.get(position);
}

@Override
public long getItemId(int position) {
    return rowItems.indexOf(getItem(position));
}

/* private view holder class */
private class ViewHolder {
    NetworkImageView profile_pic;
    TextView member_name;
    TextView status;
    TextView contactType;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    ViewHolder holder = null;

    LayoutInflater mInflater = (LayoutInflater) context
            .getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
    if (convertView == null) {
        convertView = mInflater.inflate(R.layout.list_item, null);
        holder = new ViewHolder();

        holder.member_name = (TextView) convertView
                .findViewById(R.id.member_name);
        holder.profile_pic = (NetworkImageView) convertView
                .findViewById(R.id.profile_pic);
        holder.status = (TextView) convertView.findViewById(R.id.status);
        holder.contactType = (TextView) convertView
                .findViewById(R.id.contact_type);

        Games row_pos = rowItems.get(position);

        ImageLoader il = VolleySingleton.getInstance().getImageLoader();

        holder.profile_pic.setImageUrl(IMAGE_URL ,il);


        holder.member_name.setText(row_pos.getChampionId());
        holder.status.setText(row_pos.getGameMode());
        holder.contactType.setText(row_pos.getStats().getItem0());
        Log.d("aaa", "position : " + position );
        Log.d("aaa", "row_pos.getChampionId()" + row_pos.getChampionId());
        Log.d("aaa", "row_pos.getGameMode()" + row_pos.getGameMode());
        Log.d("aaa", "row_pos.getStats().getItem0()" + row_pos.getStats().getItem0());

        convertView.setTag(holder);
    } else {
        holder = (ViewHolder) convertView.getTag();
        Games row_pos = rowItems.get(position);

        ImageLoader il = VolleySingleton.getInstance().getImageLoader();
        holder.profile_pic.setImageUrl(IMAGE_URL,il);

        holder.member_name.setText(row_pos.getChampionId());
        holder.status.setText(row_pos.getGameMode());
        holder.contactType.setText(row_pos.getStats().getItem0());
        Log.d("aaa", "position : " + position );
        Log.d("aaa", "row_pos.getChampionId()" + row_pos.getChampionId());
        Log.d("aaa", "row_pos.getGameMode()" + row_pos.getGameMode());
        Log.d("aaa", "row_pos.getStats().getItem0()" + row_pos.getStats().getItem0());

    }

    return convertView;
}
<com.android.volley.toolbox.NetworkImageView
    android:id="@+id/profile_pic"
    android:layout_width="70dp"
    android:layout_height="70dp"
    android:contentDescription="desc"
    android:paddingLeft="10dp"
    android:paddingRight="10dp" />

<TextView
    android:id="@+id/member_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:layout_toRightOf="@+id/profile_pic"
    android:paddingBottom="10dp"
    android:text="txt"
    android:textSize="20sp" />

<TextView
    android:id="@+id/status"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/member_name"
    android:layout_below="@+id/member_name"
    android:text="txt"
    android:textSize="16sp" />

<TextView
    android:id="@+id/contact_type"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/member_name"
    android:layout_alignBottom="@+id/member_name"
    android:layout_alignParentRight="true"
    android:text="txt" />

共有1个答案

季城
2023-03-14

我解决了这些问题。在我的volleysingleton类getImageLoader方法中有一些错误,这段代码运行良好。

 类似资料:
  • 我有一个凌空的JSONRequest,它被卡住了,因为来自服务器的响应不是有效的JSON(它是html)。 如何才能优雅地处理此错误?我有以下实现: 然而,当我发送请求并得到无效的JSON响应时,不会调用onErrorResponse。相反,我得到了一个例外 整个应用程序崩溃了。 我设法将该错误跟踪到JsonObjectRequest.java类中的以下行: 调用的行是:返回响应。错误(new P

  • 问题内容: 我正在使用凌空特技从REST api解析电影详细信息,并将解析后的数据保存在一个名为detailsMovies的对象的Arraylist中。但是我无法在onResponse方法之外访问ArrayList。我是Android新手,所以我不知道该怎么做。任何帮助表示赞赏! 这是代码: 问题答案: 在您的课程中定义一个接口并实现它。 因此,这里的简单技巧是与回调接口。

  • 我正在从服务器下载文件。我用排球来做。 这是我的代码 以下是错误侦听器的错误消息在一些弱网络连接上,我收到以下逻辑消息 我不明白失败的原因是什么,因为大多数错误消息都返回null。我很确定这是因为请求超时,我知道如何增加超时,但是我应该在错误侦听器中编写什么代码,以便在出现错误时获得正确的错误消息。

  • 关于在项目中使用截击,我有几个问题: 这个库可以在任何Java项目中使用,还是仅在Android中使用

  • 问题内容: 我也曾在SO和其他教程中发表过很多文章,但是我没有得到任何最新的官方或其他文章,这些文章不包含使用Volley上传多个图像的弃用代码。我知道Apache HTTP Client删除并在新的android M中相关,因此建议改用下面的方法。 那么,有谁能帮我完成新的不推荐使用的少排球类上载多张图片的工作? 问题答案: 您可以从此处使用volley的最新版本。这是一个非官方的镜像,带有一些

  • 我能够使用Postman和以下参数调用HTTPendpoint: 但是,我无法通过Android对截击进行同样的操作:这里尝试使用JSONRequest: 这里是尝试StringRequest 当我使用JSONRequest时,会发出调用,但不会传递任何参数;当我使用StringRequest时,会出现以下错误?如何将JSON数据传递给Volley调用? 以下是处理请求的服务器代码