2011-09-14 6 views
0

Je veux afficher mes résultats arraylist à l'aide de la liste personnalisée.afficher mes résultats arraylist dans liste personnalisée

pour l'instant j'affiche mes résultats en utilisant la disposition androïde.

setListAdapter(new StudentListAdapter(this,android.R.layout.simple_list_item_1, results)); 

J'ai deux champs pour afficher

  1. Locimage (Image de ImageUrl)
  2. LOCNAME (côte à côte)
fichiers

sont ici: ERROR/AndroidRuntime(335): Caused by: java.lang.NullPointerException

+0

Il ne prendra pas beaucoup de temps pour obtenir le résultat sur google si. .. –

Répondre

1

Puisque vous utilisez un adaptateur de liste personnalisé et que vous avez remplacé le getView Je pense que la méthode la ligne suivante:

setListAdapter(new StudentListAdapter(this,android.R.layout.simple_list_item_1, results)); 

devrait être:

setListAdapter(new StudentListAdapter(this, results)); 
+0

Merci pour votre réponse .. eu la solution. Un de plus comment puis-je afficher une image dans ImageView à partir d'Url. – atluriajith

+0

Vous devez cocher ma réponse si c'est la réponse à votre question, pas l'autre poste. – C0deAttack

+0

oh! ok, désolé pour cela, je viens de commencer à poster des questions sur Starckoverflow. Comment puis-je afficher une image dans ImageView à partir d'Url. – atluriajith

0

En fin de compte, vous allez avoir besoin de passer outre la méthode getView() de la classe vous adaptateur à l'aide. Juste une recherche rapide google a trouvé beaucoup d'exemples.

est ici quelque chose de vraiment fondamental: http://sudarmuthu.com/blog/using-arrayadapter-and-listview-in-android-applications

Et est ici un plus complexe: http://www.softwarepassion.com/android-series-custom-listview-items-and-adapters/

+0

Il remplace déjà 'getView()'. – C0deAttack

0

essayer ce code

import java.util.ArrayList; 
import android.app.ListActivity; 
import android.content.Context; 
import android.database.Cursor; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteException; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ArrayAdapter; 
import android.widget.ImageView; 
import android.widget.ListView; 
import android.widget.TextView; 

public class FindPlaces extends Activity{ 

    private SQLiteDatabase DbLoc; 
    ListView lv; 
    private ArrayList<Fields> results = new ArrayList<Fields>(); 
    @Override 
    public void onCreate(Bundle savedInstance) { 
    super.onCreate(savedInstance); 
    setContentView(R.layout.places); 
    getallLocs(); 
    displayLocs(); 

} 
private void displayLocs() { 
    lv = (ListView)findViewById(R.id.listPlaces); 
    lv.setAdapter(new StudentListAdapter(this,results)); 
} 
class StudentListAdapter extends BaseAdapter<Fields>{ 
    private ArrayList<Fields> locationDetails; 
    private Context mContext; 

    public StudentListAdapter(Context context, ArrayList<Fields> results) { 
     // TODO Auto-generated constructor stub 
     System.out.println("Constructor StudentList Adapter..."); 
     this.locationDetails = results; 
     this.mContext = context; 
    } 


    @Override 
    public int getCount() { 
     // TODO Auto-generated method stub 
     return locationDetails.size(); 
    } 

    @Override 
    public Fields getItem(int position) { 
     // TODO Auto-generated method stub 
     return locationDetails.get(position); 
    } 
    @Override 
    public long getItemId(int position) { 
     // TODO Auto-generated method stub 
     return super.getItemId(position); 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     // TODO Auto-generated method stub 
     View v = convertView; 
     if(v == null){ 
      LayoutInflater vl = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      v = vl.inflate(R.layout.placeslist, null); 
     } 
     Fields o = locationDetails.get(position); 

     if (o != null) { 

      TextView iv = (TextView)v.findViewById(R.id.toptext); 
      TextView tv_sNo = (TextView)v.findViewById(R.id.toptext1); 
      iv.setText(o.getLocationName());        
      tv_sNo.setText(o.getLocationImage()); 

     } 
     return v; 
    }  
} 
static class ViewHolder 
{ 
    TextView Locationname; 
    ImageView Locationimage; 
} 
private void getallLocs() { 
    // TODO Auto-generated method stub 
    try { 
     DatabaseHelper dbHelper = new DatabaseHelper(
       this.getApplicationContext()); 
     DbLoc = dbHelper.getWritableDatabase(); 
     Cursor c = DbLoc.rawQuery("SELECT " + DatabaseHelper.LocationName+ " , " + DatabaseHelper.LocationImage + " FROM " 
       + DatabaseHelper.LOCATIONTABLE , null); 
         if (c != null) { 
      if (c.moveToFirst()) { 
       do { 
        String LocationName= c.getString(c.getColumnIndex("LocationName")); 
        String Mobile = c.getString(c 
          .getColumnIndex("LocationImage")); 
        Fields p = new Fields(LocationName, Mobile); 
        results.add(p); 

       } while (c.moveToNext()); 
      } 
     } 
    } catch (SQLiteException se) { 
     Log.e(getClass().getSimpleName(), 
     "Could not create or Open the database"); 
    } 
    finally { if (DbLoc != null) DbLoc.execSQL("DELETE FROM " + 
      DatabaseHelper.FRIENDTABLE); DbLoc.execSQL("DELETE FROM " + 
        DatabaseHelper.LOCATIONTABLE); 
      DbLoc.execSQL("DROP TABLE IF EXISTS tablename"+ DatabaseHelper.FRIENDTABLE); 
      DbLoc.execSQL("DROP TABLE IF EXISTS tablename"+ DatabaseHelper.LOCATIONTABLE); 
      DbLoc.close(); 
    } 
} 
} 
Questions connexes