2010-12-01 10 views
15

yo estaba tratando de escribir una costumbre ArrayAdapter referencia here Mi código esAndroid getSystemService dentro ArrayAdapter encargo

package com.example.AndTest; 

import java.util.ArrayList; 

import android.content.Context; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ArrayAdapter; 
import android.widget.TextView; 

public class CategoryAdapter extends ArrayAdapter<Category> { 
    private ArrayList<Category> items; 

    public CategoryAdapter(Context context, int textViewResourceId, 
      ArrayList<Category> items) { 
     super(context, textViewResourceId, items); 
     this.items = items; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     View v = convertView; 
     if (v == null) { 
      LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      v = vi.inflate(R.layout.list, null); 
     } 
     Category c = items.get(position); 
     if (c != null) { 
      TextView itemId = (TextView) v.findViewById(R.id.itemid); 
      TextView itemLabel = (TextView) v.findViewById(R.id.itemlabel); 
      if (itemId != null) { 
       itemId.setText("Name: " + c.getId()); 
      } 
      if (itemLabel != null) { 
       itemLabel.setText("Status: " + c.getTitle()); 
      } 
     } 
     return v; 
    } 
} 

Pero me estoy mensaje de error en la línea LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);

The method getSystemService(String) is undefined for the type CategoryAdapter

¿Me falta algo ...

public class Category implements Parcelable { 
.... 
} 

Respuesta

76

getSystemService es un método de Context clase, así que intenta conseguir un objeto Context primera:

LayoutInflater vi = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
+4

Gran respuesta !! ! –

+0

¡Buena respuesta! ¡¡¡Realmente funciona!!! –

+0

eres un genio! –

Cuestiones relacionadas