java - Custom ArrayAdapter showing a blank screen in my Fragment -


so i've been messing around android little bit , i've run bit of snag. fragment instantiating listofjokestypesadapter reason not displaying listview populated data jokedata class.

all blank screen (no errors or of nature).

this proof of concept thing i've been working on appreciated. why particular custom adapter not working while mainclassadapter working fine.

the code

my joke class:

public class joke {  private string jokesetup; private string jokepunchline;  public joke(string jokesetup, string jokepunchline) {     this.jokesetup = jokesetup;     this.jokepunchline = jokepunchline; }  public string getjokesetup() {     return jokesetup; }  public void setjokesetup(string jokesetup) {     this.jokesetup = jokesetup; }  public string getjokepunchline() {     return jokepunchline; }  public void setjokepunchline(string jokepunchline) {     this.jokepunchline = jokepunchline;  } } 

my jokelistclass

public class jokelistdata {  private string listname; private list<joke> arraylistofjokes;  public jokelistdata(string listname, list<joke> arraylistofjokes) {     this.listname = listname;     this.arraylistofjokes = arraylistofjokes; }  public string getlistname() {     return listname; }  public void setlistname(string listname) {     this.listname = listname; }  public list<joke> getarraylistofjokes() {     return arraylistofjokes; }  public void setarraylistofjokes(arraylist<joke> arraylistofjokes) {     this.arraylistofjokes = arraylistofjokes; } } 

my actual joke data

public class jokedata {    private static list<joke> dogjokes = new arraylist<joke>(){      {         add(new joke("dogs", "bark"));         add(new joke("dogs", "woof"));         add(new joke("dogs", "howl"));         add(new joke("dogs", "sniff"));     } };   private static list<joke> catjokes = new arraylist<joke> (){     {         add(new joke("cats", "woof"));         add(new joke("dogs", "meow"));     } };  static list<jokelistdata> dataofjokelist = new arraylist<jokelistdata>();  public static void addentries(){     dataofjokelist.add(new jokelistdata("cat jokes", catjokes));     dataofjokelist.add(new jokelistdata("dog jokes", dogjokes));  }  } 

the adapter

public class listofjoketypesadapter extends arrayadapter<jokelistdata> {  context mcontext; int mlayoutid; list<jokelistdata> mlist;  public listofjoketypesadapter(context context, int resource, list<jokelistdata> objects) {     super(context, resource, objects);     this.mcontext = context;     this.mlayoutid = resource;     this.mlist = objects; }   @override public int getcount() {     return super.getcount(); }  @override public view getview(int position, view convertview, viewgroup parent) {      viewholder holder = null;      if(convertview == null){         layoutinflater inflater = layoutinflater.from(mcontext);         convertview = inflater.inflate(mlayoutid,parent,false);          holder = new viewholder();          holder.mtextview = (textview) convertview.findviewbyid(r.id.rowformainlist);          convertview.settag(holder);     }else{         holder = (viewholder) convertview.gettag();     }      jokelistdata jokelistdata = mlist.get(position);      holder.mtextview.settext(jokelistdata.getlistname());      return convertview; }  private static class viewholder{     textview mtextview;  } } 

the fragment utilizes adapter

public class listofjoketypesfragment extends fragment {  listview mlistview; listofjoketypesadapter listofjoketypesadapter;  @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) {     view view = inflater.inflate(r.layout.joke_type_fragment,container,false);     jokedata.addentries();     mlistview = (listview)view.findviewbyid(r.id.joketypelistview);     listofjoketypesadapter = new listofjoketypesadapter(getactivity().getapplicationcontext(),r.layout.row,jokedata.dataofjokelist);     mlistview.setadapter(listofjoketypesadapter);      return view;  } } 

the fragment manager package com.example.taranveer.jokeapplicationactual;

import android.app.activity; import android.os.bundle;

/** * created taranveer on 2014-07-22. */ public class thefragmentactivitymanager extends activity {

@override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.fragment_container);      bundle args = getintent().getextras();      if(findviewbyid(r.id.container) != null){             if(args != null){                if(args.getint("randomjoke") == 1){                   randomjokefragment randomjokefragment = new randomjokefragment();                   getfragmentmanager().begintransaction()                                       .replace(r.id.container, randomjokefragment)                                        .commit();                }            }     }     if(findviewbyid(r.id.container) != null){          if(args!=null){             if(args.getint("listofjoketypes") == 2){                 listofjoketypesfragment listofjoketypesfragment = new listofjoketypesfragment();                 getfragmentmanager().begintransaction()                                     .replace(r.id.container,listofjoketypesfragment)                                     .commit();             }         }     }  } } 

the relevant xml:

joke_type_fragment.xml

<?xml version="1.0" encoding="utf-8"?>  <linearlayout xmlns:android="http://schemas.android.com/apk/res/android"     android:orientation="vertical" android:layout_width="match_parent"     android:layout_height="match_parent">  <listview     android:id="@+id/joketypelistview"     android:layout_width="match_parent"     android:layout_height="match_parent">  </listview>  </linearlayout> 

row.xml

<linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content">  <linearlayout android:layout_margin="5dp" android:gravity="center_vertical" android:background="#000000" android:layout_width="match_parent" android:layout_height="wrap_content"> <textview     android:textcolor="#eeeeee"     android:textstyle="bold"     android:layout_margin="5dp"     android:padding="5dp"     android:background="#2299dd"     android:textsize="20sp"     android:text="main activity items"     android:gravity="center"     android:layout_width="match_parent"     android:layout_height="wrap_content"     android:id="@+id/rowformainlist"/> </linearlayout>  </linearlayout> 

better put these lines jokelistdata jokelistdata = mlist.get(position);

holder.mtextview.settext(jokelistdata.getlistname());  

inside if(convertview == null) condition


Comments

Popular posts from this blog

java - How to specify maven bin in eclipse maven plugin? -

single sign on - Logging into Plone site with credentials passed through HTTP -

php - Why does AJAX not process login form? -