2016-06-07 15 views
-1

getSystemService (LAYOUT_INFLATER_SERVICE) zeigt Fehler im folgenden Code. Kannst du mir bitte mit diesem Code helfen? Ich bin irgendwie in diesem stecken geblieben und kann nicht ohne es voran gehen, also bitte helfen Sie mir mit diesem.getSystemService (LAYOUT_INFLATER_SERVICE) zeigt Fehler

import android.content.Context; 
    import android.view.LayoutInflater; 
    import android.view.View; 
    import android.view.ViewGroup; 
    import android.widget.ArrayAdapter; 
    import android.widget.ImageView; 
    import android.widget.RatingBar; 
    import android.widget.TextView; 
    import navdrawerexample1.models.MovieModel; 
    import java.util.List; 

    public class MovieAdapter extends ArrayAdapter { 

    private List<MovieModel> movieModelList; 
    private int resource; 
    private LayoutInflater inflater; 
    public MovieAdapter(Context context, int resource, List<MovieModel> objects) { 
     super(context, resource, objects); 
     movieModelList = objects; 
     this.resource = resource; 
     inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE); 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 

     if (convertView == null){ 
      convertView=inflater.inflate(resource,null); 
     } 
     ImageView ivMovieIcon; 
     TextView tvMovie; 
     TextView tvTagline; 
     TextView tvYear; 
     TextView tvDuration; 
     TextView tvDirector; 
     RatingBar rbMovieRating; 
     TextView tvCast; 
     TextView tvStory; 

     ivMovieIcon = (ImageView)convertView.findViewById(R.id.ivIcon); 
     tvMovie = (TextView)convertView.findViewById(R.id.tvMovie); 
     tvTagline = (TextView)convertView.findViewById(R.id.tvTagline); 
     tvYear = (TextView)convertView.findViewById(R.id.tvYear); 
     tvDuration = (TextView)convertView.findViewById(R.id.tvDuration); 
     tvDirector = (TextView)convertView.findViewById(R.id.tvDirector); 
     rbMovieRating = (RatingBar)convertView.findViewById(R.id.rbMovie); 
     tvCast = (TextView)convertView.findViewById(R.id.tvCast); 
     tvStory = (TextView)convertView.findViewById(R.id.tvStory); 

     tvMovie.setText(movieModelList.get(position).getMovie()); 
     tvTagline.setText(movieModelList.get(position).getTagline()); 
     tvYear.setText("Year: " + movieModelList.get(position).getYear()); 
     tvDuration.setText("Duration:" + movieModelList.get(position).getDuration()); 
     tvDirector.setText("Director:" + movieModelList.get(position).getDirector()); 

     //rating bar 

     rbMovieRating.setRating(movieModelList.get(position).getRating()/2); 

     StringBuffer stringBuffer = new StringBuffer(); 
     for (MovieModel.cast cast : movieModelList.get(position).getCastList()){ 
      stringBuffer.append(cast.getName() + ", "); 
     } 
     tvCast.setText(stringBuffer); 
     tvStory.setText("Cast:" + movieModelList.get(position).getStory()); 
     return convertView; 
    } 
} 
+0

Was ist der Fehler Sie bekommen? –

+0

kann nicht Methode getsystemservice –

+2

Verfahren lösen gehört Klasse Kontext, so zu 'context.getSystemService ändern();' –

Antwort

1

Ändern Sie diese Zeile:

inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE); 

dazu:

inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
+0

Dank für Ihre Hilfe. es hat funktioniert –

0

Try This

ersetzen

inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE); 

mit

inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
+0

Dank arbeitete sie für mich gearbeitet –

+0

@SantoshShrestha Always Welcome Bro –

0

ändern,

inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE); 

mit

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

Hinweis: Sie müssen in Ihrem Konstruktor übergeben Kontext.

Glücklich Coding ..

+0

danke für deine hilfe es hat funktioniert –

+0

ich bin froh .. du kannst meine antwort annehmen, wenn es geholfen hat .. –

0

Verfahren getSystemService zur Klasse Kontext gehört, so dass Sie es auf einem Kontext laufen, aber Sie es aus nicht Android Klasse laufen.

So Zugriff getSystemService mit dem Zusammenhang von der Tätigkeit bestanden

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