简体   繁体   English

在空引用上使 android.widget.imageview.setimageresource(int)' 无效(日志猫中的致命错误消息)

[英]Void android.widget.imageview.setimageresource(int)' on a Null Reference(fatal error message in the log cat)

Please am having issue with this null error message java.lang.NullPointerException (no error message).请对此空错误消息 java.lang.NullPointerException(无错误消息)有问题。 I really need assistance on how and where to add the appropriate code so that the application would not crash.我真的需要关于如何以及在何处添加适当的代码以便应用程序不会崩溃的帮助。 Here is the JAVA file that i am having issues with.这是我遇到问题的 JAVA 文件。 I am trying to create a recycler view and jpg images from my drawable folder我正在尝试从我的可绘制文件夹中创建一个回收器视图和 jpg 图像

HorizontalListAdapter.java水平列表适配器.java

import android.app.Activity;
import android.graphics.Picture;
import android.os.Bundle;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;

public class HorizontalListAdapter extends RecyclerView.Adapter<HorizontalListAdapter.ViewHolder>
{
private Activity activity;
int[] images= {R.drawable.vb1,R.drawable.pota,R.drawable.vb1,
        R.drawable.pota,R.drawable.vb1,R.drawable.download1,R.drawable.pota};
String[] food_items={"prawan","awadhi_lucknow_biryani","eggwraps","chips","mayonnaise","companin","mixvegwrap"};


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

@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
    LayoutInflater inflater = activity.getLayoutInflater();
    View view = inflater.inflate(R.layout.item_horizontal_list, viewGroup, false);

    return new ViewHolder(view);
}

@Override
public void onBindViewHolder(HorizontalListAdapter.ViewHolder viewHolder, final int position) {
    viewHolder.imageView.setImageResource(images[position]);
    viewHolder.txtview.setText(food_items[position].toUpperCase());

    viewHolder.linearLayout.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Toast.makeText(activity, "Position clicked: " + position, Toast.LENGTH_SHORT).show();
        }
    });
}

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

/**
 * View holder to display each RecylerView item
 */
protected class ViewHolder extends RecyclerView.ViewHolder {

    private LinearLayout linearLayout;
    private ImageView imageView;
    private TextView txtview;


    public ViewHolder(View view) {
        super(view);
        imageView = (ImageView) view.findViewById(R.id.imageview);

        txtview = (TextView) view.findViewById(R.id.txtview);
        linearLayout = (LinearLayout) view.findViewById(R.id.layout);
    }
}
}

The second java class VerticalListAdapter.java第二个java类VerticalListAdapter.java

import android.app.Activity;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;

 public class VerticalListAdapter extends RecyclerView.Adapter<VerticalListAdapter.ViewHolder> {

 private Activity activity;

 public VerticalListAdapter(Activity activity) {
    this.activity = activity;
 }
int[] images= {R.drawable.images,R.drawable.images,R.drawable.images,
        R.drawable.images,R.drawable.images,R.drawable.images,R.drawable.images};
String[] food_items={"prawan","awadhi_lucknow_biryani","eggwraps","chips","mayonnaise","companin","mixvegwrap"};
String[] cost={"Rs 200","Rs 300","Rs 150","R 320","Rs 450","Rs 120","Rs 380"};
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    LayoutInflater inflater = activity.getLayoutInflater();
    View view = inflater.inflate(R.layout.item_recycler_view, parent, false);

    return new ViewHolder(view);
}

@Override
public void onBindViewHolder(ViewHolder viewHolder, final int position) {
    // if ((position + 1) % 2 == 0) {
    viewHolder.imageView.setImageResource(images[position]);
    viewHolder.txtview.setText(food_items[position].toUpperCase());
    viewHolder.txtCost.setText("Cost Per Person "+cost[position]);
    // } else {
    //  viewHolder.imageView.setImageResource(R.drawable.awadhi_lucknow_biryani);
    //}
    viewHolder.container.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(activity, "Position: " + position, Toast.LENGTH_SHORT).show();
        }
    });
}

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

/**
 * View holder to display each RecylerView item
 */
protected class ViewHolder extends RecyclerView.ViewHolder {
    private ImageView imageView;
    private TextView txtview;
    private TextView txtCost;
    private RelativeLayout container;

    public ViewHolder(View view) {
        super(view);
        imageView = (ImageView) view.findViewById(R.id.image);
        txtview = (TextView) view.findViewById(R.id.text);
        txtCost= (TextView) view.findViewById(R.id.textView);
        container = (RelativeLayout) view.findViewById(R.id.container);
    }

}
}

Please i need assistance with this i guess it is the int[]images causing the error i may be wrong please correct me with the right code i would use to replace and make the code work.请我需要帮助,我想是 int[]images 导致错误我可能是错的请用正确的代码纠正我,我将用来替换并使代码工作。

更改任何其他修改器private imageview可访问性表单imageview

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 我尝试在空对象引用上调用虚拟方法&#39;void android.widget.ImageView.setImageResource(int)&#39; - I got Attempt to invoke virtual method 'void android.widget.ImageView.setImageResource(int)' on a null object reference NullPointerException:尝试在空对象引用上调用虚拟方法&#39;void android.widget.ImageView.setImageResource(int)&#39; - NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setImageResource(int)' on a null object reference Android Studio: Attempt to invoke virtual method 'void android.widget.ImageButton.setImageResource(int)' on a null object reference - Android Studio: Attempt to invoke virtual method 'void android.widget.ImageButton.setImageResource(int)' on a null object reference 空对象引用上的“void android.widget.ImageView.setVisibility(int)” - 'void android.widget.ImageView.setVisibility(int)' on a null object reference 在空对象引用上无效android.widget.ImageView.setEnabled(boolean)&#39; - void android.widget.ImageView.setEnabled(boolean)' on a null object reference 尝试在空对象引用上调用虚拟方法“void android.widget.TextView.setBackgroundColor(int)” - Attempt to invoke virtual method 'void android.widget.TextView.setBackgroundColor(int)' on a null object reference 尝试在空对象引用上调用虚拟方法&#39;void android.widget.ImageView.setImageBitmap(android.graphics.Bitmap)&#39; - Attempt to invoke virtual method 'void android.widget.ImageView.setImageBitmap(android.graphics.Bitmap)' on a null object reference 如何在Android中修复&#39;尝试调用&#39;void android.widget.ListView.setAdapter(android.widget.ListAdapter)&#39;对空对象引用&#39;错误 - How to fix 'Attempt to invoke 'void android.widget.ListView.setAdapter(android.widget.ListAdapter)' on a null object reference' error in Android Attempt to invoke virtual method 'android.view.View android.widget.ImageView.findViewById(int)' on a null object reference - Attempt to invoke virtual method 'android.view.View android.widget.ImageView.findViewById(int)' on a null object reference java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“ void android.widget.CardView.setVisibility(int)” - java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.CardView.setVisibility(int)' on a null object reference
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM