Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
错误:尝试调用虚拟方法';void android.widget.ListView.setAdapter_Android_Listview_Adapter_Retrofit - Fatal编程技术网

错误:尝试调用虚拟方法';void android.widget.ListView.setAdapter

错误:尝试调用虚拟方法';void android.widget.ListView.setAdapter,android,listview,adapter,retrofit,Android,Listview,Adapter,Retrofit,我正在使用改型从服务器获取JSON,现在我想使用listView来显示它,但显然我被卡住了。我对安卓系统比较陌生,所以我所做的可能是完全错误的。 我试图创建一个ListView并将POJO对象提供给适配器,但是适配器似乎正在崩溃,导致了一个空点异常。任何帮助都将不胜感激 舱单: 同时发布R.layout.activity_主代码 我怀疑您提供的listview Id不正确 您必须在activity\u main 将您的活动\u main.xml替换为以下代码: <?xml versi

我正在使用改型从服务器获取JSON,现在我想使用listView来显示它,但显然我被卡住了。我对安卓系统比较陌生,所以我所做的可能是完全错误的。 我试图创建一个ListView并将POJO对象提供给适配器,但是适配器似乎正在崩溃,导致了一个空点异常。任何帮助都将不胜感激

舱单:


同时发布R.layout.activity_主代码
我怀疑您提供的listview Id不正确

您必须在
activity\u main
将您的
活动\u main.xml
替换为以下代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:minHeight="100dp"
    tools:context="com.nmc.viewbeem.MainActivity">

    <ListView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/listview">
    </ListView>

</RelativeLayout>

尝试将ListView=(ListView)放入findViewById(R.id.ListView);在发出请求之前,然后在响应时创建适配器并将其设置为listviewHey Adnan感谢您的回复,我在activity_main上发布了布局未更改的内容。我这样做有问题吗?如果您觉得这有帮助,请接受答案。正如Adnan所说,您需要在当前膨胀的布局(即activity_main.xml)中定义ListView。因此,请确保列表视图是在该xml中定义的。是的,只需将ListView xml包含到activity_main.xml中即可
package com.nmc.viewbeem;

import android.app.Activity;
import android.content.Context;
import android.database.DataSetObserver;
import android.support.v7.view.menu.MenuView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.TextView;
import  com.nmc.viewbeem.StreamingOffers;

import retrofit2.Callback;
import retrofit2.Response;

/**
 * Created by Katerina on 05.04.2016.
 */
public class StreamingOffersAdapter<L> extends User implements ListAdapter {


    private Activity activity;
    private Context context;
    private Callback<ResponseResult> callback;
    private Response<ResponseResult> response;
    private LayoutInflater inflater;


    public StreamingOffersAdapter(Activity activity) {
        this.activity=activity;
    }

    public StreamingOffersAdapter(Context context,Callback<ResponseResult> callback, Response<ResponseResult> response) {
    this.callback=callback;
    this.response=response;
    this.context=context;
    inflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }


    public class Holder {

        private TextView full_name;
        private TextView offeredStreams;
        private TextView location;
        private TextView price;
        private TextView currency_symbol;
        private TextView total_streamed;

        private  ImageView background;
        private  ImageView offer;
        private  ImageView profile;
        private  ImageView iconUser;
        private  ImageView icoStar;
    }
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        Holder holder = new Holder();
        View itemView = convertView;
        itemView = inflater.inflate(R.layout.listofusers, null);
        StreamingOffers s = new StreamingOffers();
        User u = new User();

       if(itemView==null) {

           holder.full_name = (TextView) itemView.findViewById(R.id.full_name);
           holder.full_name.setText(getFullName());

           holder.location = (TextView) itemView.findViewById(R.id.location);
           holder.location.setText(s.getLocation());
           holder.price = (TextView) itemView.findViewById(R.id.price);
           holder.price.setText(s.getPrice());

           holder.currency_symbol = (TextView) itemView.findViewById(R.id.currency_symbol);
           holder.currency_symbol.setText(s.getCurrencySymbol());
           holder.total_streamed = (TextView) itemView.findViewById(R.id.total_streamed);
           holder.total_streamed.setText(u.getTotalStreamed());

       }
        return itemView;
    }

    @Override
    public boolean areAllItemsEnabled() {
        return false;
    }

    @Override
    public boolean isEnabled(int position) {
        return false;
    }

    @Override
    public void registerDataSetObserver(DataSetObserver observer) {

    }

    @Override
    public void unregisterDataSetObserver(DataSetObserver observer) {

    }

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

    @Override
    public Object getItem(int position) {
        return response[position];
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public boolean hasStableIds() {
        return false;
    }

    @Override
    public int getItemViewType(int position) {
        return 0;
    }

    @Override
    public int getViewTypeCount() {
        return 0;
    }

    @Override
    public boolean isEmpty() {
        return false;
    }
}