Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.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
Java RecyclerView空指针异常_Java_Android_Model View Controller_Butterknife - Fatal编程技术网

Java RecyclerView空指针异常

Java RecyclerView空指针异常,java,android,model-view-controller,butterknife,Java,Android,Model View Controller,Butterknife,我是Android Studio的新手,发现了类似的问题,但没有一个回复适用于我当前的实例。我一直在尝试使用RecyclerViews,每当我使用它打开活动时,都会收到以下错误消息。代码没有显示任何错误 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.lucasrizzotto.edgeweather/com.lucasrizzotto.edgeweather.ui.HourlyForecastActi

我是Android Studio的新手,发现了类似的问题,但没有一个回复适用于我当前的实例。我一直在尝试使用RecyclerViews,每当我使用它打开活动时,都会收到以下错误消息。代码没有显示任何错误

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.lucasrizzotto.edgeweather/com.lucasrizzotto.edgeweather.ui.HourlyForecastActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView.setLayoutManager(android.support.v7.widget.RecyclerView$LayoutManager)' on a null object reference
这是我的适配器:

public class HourAdapter extends RecyclerView.Adapter<HourAdapter.HourViewHolder> {

    private Hour[] mHours;

    public HourAdapter(Hour[] hours) {
        mHours = hours;
    }

    @Override
    public HourViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).
                inflate(R.layout.hourly_list_item, parent, false);
        HourViewHolder viewHolder = new HourViewHolder(view);
        return viewHolder;
    }

    @Override
    public void onBindViewHolder(HourViewHolder holder, int position) {
        holder.bindHour(mHours[position]);
    }

    @Override
    public int getItemCount() {
        return mHours.length;
    }

    public class HourViewHolder extends RecyclerView.ViewHolder {

        public TextView mTimeLabel;
        public TextView mTemperatureLabel;
        public TextView mSummaryLabel;
        public ImageView mIconImageView;

        public HourViewHolder(View itemView) {
            super(itemView);
            mTimeLabel = (TextView) itemView.findViewById(R.id.timeLabel);
            mTemperatureLabel = (TextView) itemView.findViewById(R.id.temperatureLabel);
            mSummaryLabel = (TextView) itemView.findViewById(R.id.summaryLabel);
            mIconImageView = (ImageView) itemView.findViewById(R.id.iconImageView);
        }

        public void bindHour(Hour hour) {
            mTimeLabel.setText(hour.getHour());
            mSummaryLabel.setText(hour.getSummary());
            mTemperatureLabel.setText((int)hour.getTemperature());
            mIconImageView.setImageResource(hour.getIconId());
        }

    }
}
我忽略了什么

提前感谢你的智慧

试着打电话:

ButterKnife.bind(this);
设置内容视图后


由于您不是以常规方式执行此操作,因此需要实际调用bind()。

基本上需要初始化mRecyclerView

比如说

mRecyclerView = (RecyclerView) findViewById(R.id.recyclerView);
但在您的情况下,您使用ButterKnife库进行此操作

因此需要在setContentView(R.layout.activity\u hourly\u forecast)之后调用其bind()方法


您正在使用ButterKnife绑定视图,这很好

但您似乎忘记了为当前活动初始化ButterKnife

就这样做,

ButterKnife.bind(this);
在这一行之后,

setContentView(R.layout.activity_hourly_forecast);
将为您当前的活动初始化ButterKnife,您将能够从布局中正确引用RecyclerView


希望有帮助。

你好,库山,谢谢你的回复!我尝试了你的建议,但得到了一个新错误:致命异常:主进程:PID:19348 android.content.res.Resources$NotFoundException:String resource ID#0x4B错误是什么?这实际上是对您以前的异常的正确答案。您缺少了一些您使用过的字符串引用。好的,您已经解决了第一个问题,所以谢谢您(:哈哈,谢谢!我甚至不知道我是如何得到它的。我在理解适配器、ViewHolder、LayoutManager(等等)时有点困难)pattern,你有什么可以推荐给我的资源吗?谢谢你的快速回复,Max!由于更改,我现在出现了一个新错误:致命异常:主进程:PID:19348 android.content.res.resources$NotFoundException:String resource ID#0x4bas我说,你尝试引用的strings.xml中缺少一些字符串引用恩斯somewhere@SexualPotatoes在哪一行?谢谢你的回复,阿里特拉!你说得很对。我会的,但我还没有15个名声。它不会让我的。
ButterKnife.bind(this);
setContentView(R.layout.activity_hourly_forecast);