2016-07-19 21 views
0

Ich versuche, eine Kartenansicht in einer Recycler-Adapter-Ansicht aufzublasen, und ich bekomme einen Fehler, wie sie ist keine solche Instanz wie kasualjob, die ich bin. Hier ist mein AdapterKarten in Android CardView im Recycler Anzeigen

public class KasualJobAdapter extends RecyclerView.Adapter<KasualJobAdapter.MyViewHolder> { 
    private GoogleMap mMap; 
    protected LatLng mMapLocation; 
    private List<KasualJob> kasualjobList; 
    private FragmentManager fragmentmanager; 

    public KasualJobAdapter(List<KasualJob> kasualjobList, FragmentManager fragmentmanager) { 
     this.kasualjobList = kasualjobList; 
     this.fragmentmanager = fragmentmanager; 
    } 
    public class MyViewHolder extends RecyclerView.ViewHolder { 
     public TextView kasualjobtitle, kasualjobdescription, kasualjoblocation, kasualjobdateposted, kasualjobuser; 
     public SupportMapFragment kasualjobmap; 

     public MyViewHolder(final View view) { 
      super(view); 

      kasualjobtitle = (TextView) view.findViewById(R.id.textview_kasual_job_name); 
      kasualjobdescription = (TextView) view.findViewById(R.id.textview_kasual_job_description); 
      kasualjoblocation = (TextView) view.findViewById(R.id.textview_kasual_job_location); 
      kasualjobdateposted = (TextView) view.findViewById(R.id.textview_kasual_job_date_time_posted); 
      kasualjobuser = (TextView) view.findViewById(R.id.textview_kasual_job_user); 

      kasualjobmap = (SupportMapFragment)fragmentmanager.findFragmentById(R.id.kasual_job_mapview); 

      kasualjobmap.getMapAsync(new OnMapReadyCallback() { 
       @Override 
       public void onMapReady(GoogleMap googleMap) { 
        mMap = googleMap; 

        // Add a marker in Sydney and move the camera 
        LatLng sydney = new LatLng(-34, 151); 
        mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); 
        mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); 
       } 
      }); 
     } 

     public void setMapLocation(double lat, double lon) { 
      mMapLocation = new LatLng(lat, lon); 

      if (mMap != null) { 
       updateMapContents(); 
      } 
     } 

     protected void updateMapContents() { 
      mMap.clear(); 
      // Update the mapView feature data and camera position. 
      mMap.addMarker(new MarkerOptions().position(mMapLocation)); 
      CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(mMapLocation, 10f); 
      mMap.moveCamera(cameraUpdate); 
     } 

    } 

    @Override 
    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
     View itemView = LayoutInflater.from(parent.getContext()) 
       .inflate(R.layout.kasual_job_card_view, parent, false); 

     return new MyViewHolder(itemView); 
    } 

    @Override 
    public void onBindViewHolder(MyViewHolder holder, int position) { 
     KasualJob kasualJob=kasualjobList.get(position); 
     holder.kasualjobtitle.setText(kasualJob.getKasualjobtypename()); 
     holder.kasualjobdescription.setText(kasualJob.getKasualjobdescription()); 
     holder.kasualjoblocation.setText("For Know its Utalii,Nairobi,Kenya"); 
     holder.setMapLocation(kasualJob.getKasualjoblatitude(), kasualJob.getJoblongitude()); 
     holder.kasualjobdateposted.setText("On " + kasualJob.getKasualjobdatetimeposted()); 
     holder.kasualjobuser.setText("By " + kasualJob.getUserfirstname()+ " "+ kasualJob.getUserlastname()); 
    } 

    @Override 
    public int getItemCount() { 
     return kasualjobList.size(); 
    } 
} 

Kann mir bitte jemand helfen, so dass ich die Karten machen kann, und wenn möglich, mir zu erklären, was ich falsch mache

+2

Fügen Sie das Fehlerprotokoll –

+1

Der XML-Viewholder wäre auch gut zu wissen. –

+0

Das Fehlerprotokoll. 07-20 11: 01: 55.191 4530-4530/com.kasualjobs.kasualjobs E/AndroidRuntime: android.view.InflateException: Binär-XML-Datei Zeile # 48: Binär-XML-Datei Zeile # 48: Fehler beim Aufblasen des Klassenfragments – Kimigx

Antwort

0

try

holder.kasualjobmap.getMapAsync(new OnMapReadyCallback() { 
     @Override 
     public void onMapReady(GoogleMap googleMap) { 
      mMap = googleMap; 

      // Add a marker in Sydney and move the camera 
      LatLng sydney = new LatLng(-34, 151); 
      mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); 
      mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); 
     } 
    }); 
zu bewegen

In die Methode onBindViewHolder.

Verwandte Themen