2010-12-01 15 views
15

मैं here मेरे कोड का संदर्भ देते ArrayAdapter एक कस्टम लिखने के लिए कोशिश कर रहा थाएंड्रॉयड getSystemService अंदर कस्टम ArrayAdapter

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

है लेकिन मैं लाइन LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);

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

पर त्रुटि संदेश मिल रहा क्या मुझे कुछ याद आ रहा है ..

public class Category implements Parcelable { 
.... 
} 

उत्तर

76

getSystemServiceContext वर्ग की एक विधि है, इसलिए पहले एक Context वस्तु प्राप्त करने की कोशिश:

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

महान जवाब !! ! –

+0

अच्छा जवाब! यह सचमुच काम करता है!!! –

+0

आप एक प्रतिभाशाली हैं! –

संबंधित मुद्दे