2010-12-01 3 views
15

Je tentais d'écrire une coutume ArrayAdapter référencement here Mon code estAndroid getSystemService intérieur ArrayAdapter personnalisé

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; 
    } 
} 

Mais j'obtiens un message d'erreur sur la ligne LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);

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

Suis-je manque quelque chose ..

public class Category implements Parcelable { 
.... 
} 

Répondre

76

getSystemService est une méthode de Context classe, essayez donc d'obtenir un objet Context premier:

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

Grande réponse !! ! –

+0

Bonne réponse! Ça marche vraiment!!! –

+0

vous êtes un génie! –

Questions connexes