0

I have made Bean class in which we get & set values for name & image and make two other class . i made MainActivity class and ListAdapterPlay class, in which i want to set images in listView item . But it give NullPointerException in LayoutInflater

public class ListAdapterPlay extends BaseAdapter {
// private Bean bean;
private ArrayList<Bean> objarraylist;
private Context context;
private LayoutInflater objlayoutinflater;

public ListAdapterPlay(ArrayList<Bean> objarraylist, Context context) {
    this.context = context;
    this.objarraylist = objarraylist;
    objlayoutinflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); //error at this line 
    // TODO Auto-generated constructor stub
}

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return 0;
}

@Override
public Object getItem(int position) {
    // TODO Auto-generated method stub
    return position;
}

@Override
public long getItemId(int position) {
    // TODO Auto-generated method stub
    return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    Bean bean = (Bean) getItem(position);
    convertView = objlayoutinflater.inflate(R.layout.listviewrow,null);
    // TODO Auto-generated method stub
    TextView txt = (TextView) convertView.findViewById(R.id.textView1);
    // bean= new Bean();
    txt.setText(bean.getName());

    ImageView img = (ImageView) convertView.findViewById(R.id.imageView1);
    String uri = "drawable/" + bean.getImage();
    int imageResource = context.getResources().getIdentifier(uri, null,
            context.getPackageName());
    Drawable image = context.getResources().getDrawable(imageResource);
    img.setImageDrawable(image);
    // img.setBackgroundResource()

    return convertView;
}
}

i made MainActivity class as below

public class MainActivity extends Activity {
private ArrayList<Bean> objarraylist;
private  ListAdapterPlay objlistadapter;
private ListView listview;
private Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    objarraylist=new ArrayList<Bean>();
    objarraylist.add(new Bean("RAM","ic_launcher"));
    objarraylist.add(new Bean("RAM","lion"));
    objarraylist.add(new Bean("RAM","lion"));
    objarraylist.add(new Bean("RAM","lion"));
    objarraylist.add(new Bean("RAM","lion"));
    objarraylist.add(new Bean("RAM","lion"));
    objarraylist.add(new Bean("RAM","lion"));
    objarraylist.add(new Bean("RAM","lion"));
    objarraylist.add(new Bean("RAM","lion"));
    objarraylist.add(new Bean("RAM","lion"));
    objarraylist.add(new Bean("RAM","lion"));
    objarraylist.add(new Bean("RAM","lion"));
    objarraylist.add(new Bean("RAM","lion"));
    objarraylist.add(new Bean("RAM","lion"));

    objlistadapter= new ListAdapterPlay(objarraylist,context);
    listview=(ListView)this.findViewById(R.id.listview1);
    listview.setAdapter(objlistadapter);
}

}

i want to set images in listView item but it through NullPointerException in ListAdapterPlay class. error is at this line

objlayoutinflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

I am stuck at this situation why? It give NullPointerException?

1
  • In which line you get null pointer exception in ListAdapterPlay. Commented Apr 2, 2013 at 11:18

1 Answer 1

2
public ListAdapterPlay(ArrayList<Bean> objarraylist, Context context) {
    this.context = context;
    this.objarraylist = objarraylist;
    objlayoutinflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); //error at this line 
    // TODO Auto-generated constructor stub
}

May be the context is null

objlistadapter= new ListAdapterPlay(objarraylist,context);

while constructing the ListAdapterPlay

try

objlistadapter= new ListAdapterPlay(objarraylist,this);
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.