SimpleCursorAdapter.ViewBinder display nothing

Basic Tutorials concerning: GUI, Views, Activites, XML, Layouts, Intents, ...

SimpleCursorAdapter.ViewBinder display nothing

Postby gabisabobo » Fri Oct 14, 2011 6:24 am

I would like to display an icon in my ListView depending on the database value.
But in result nothing is displayed. Here is what I have in my PepakPostView.java :

Syntax: [ Download ] [ Hide ]
Using java Syntax Highlighting
  1. package com.pepakbahasajawa;
  2.  
  3. import android.app.ListActivity;
  4. import android.content.Intent;
  5. import android.database.Cursor;
  6. import android.database.sqlite.SQLiteDatabase;
  7. import android.os.Bundle;
  8. import android.view.MenuInflater;
  9. import android.view.MenuItem;
  10. import android.view.View;
  11. import android.widget.ImageView;
  12. import android.widget.ListAdapter;
  13. import android.widget.SimpleCursorAdapter;
  14. import android.widget.TextView;
  15.  
  16.  
  17.  
  18. public class PepakPostView extends ListActivity {
  19.         protected ListAdapter adapter;
  20.         protected int subcatId;
  21.  
  22.     @Override
  23.     public void onCreate(Bundle savedInstanceState) {
  24.         super.onCreate(savedInstanceState);
  25.         setContentView(R.layout.post);
  26.         subcatId = getIntent().getIntExtra("SUBCATEGORY_ID", 0);
  27.         SQLiteDatabase db = (new DatabaseHelper(this)).getWritableDatabase();
  28.         Cursor cursor = db.rawQuery("SELECT _id, subcatId, postOne, postTwo, picture FROM posts WHERE subcatId = ?",
  29.                                 new String[]{""+subcatId});
  30.        
  31.        
  32.         adapter = new SimpleCursorAdapter(
  33.                         this,
  34.                         R.layout.post,
  35.                         cursor,
  36.                         new String[] {"postOne", "postTwo", "picture"},
  37.                         new int[] { R.id.postOne, R.id.postTwo, R.id.picture });
  38.  
  39.         ((SimpleCursorAdapter) adapter).setViewBinder(new SimpleCursorAdapter.ViewBinder(){
  40.  
  41.                 public boolean setViewValue(View view, Cursor cursor, int columnIndex) {
  42.                 int viewId = view.getId();
  43.                 switch(viewId) {
  44.                    
  45.              
  46.                 case R.id.postOne:
  47.  
  48.                         TextView postOne = (TextView) view;
  49.                         postOne.setText(cursor.getString(cursor.getColumnIndex("postOne")));
  50.                     break;
  51.                    
  52.                     case R.id.postTwo:
  53.  
  54.                         TextView postTwo = (TextView) view;
  55.                         postTwo.setText(cursor.getString(cursor.getColumnIndex("postTwo")));
  56.  
  57.                     break;
  58.  
  59.                     case R.id.picture:
  60.  
  61.                         ImageView pictureIcon = (ImageView) view;
  62.                         int picture = cursor.getInt(columnIndex);
  63.                         switch(picture) {
  64.                             case 1:
  65.                                 pictureIcon.setImageResource(R.drawable.icon);
  66.                             break;
  67.                             case 2:
  68.                                 pictureIcon.setImageResource(R.drawable.home_normal);
  69.                             break;
  70.                         }
  71.                        
  72.  
  73.                     break;
  74.                 }
  75.                         return true;
  76.             }
  77.        
  78.         });
  79.         setListAdapter(adapter);
  80.        
  81.        
  82.        
  83.     }
  84.        
  85.  
  86.          @Override
  87.                 public boolean onCreateOptionsMenu(android.view.Menu menu) {
  88.                         // TODO Auto-generated method stub
  89.                         super.onCreateOptionsMenu(menu);
  90.                         MenuInflater blowUp =  getMenuInflater();
  91.                         blowUp.inflate(R.menu.coll_menu, menu);
  92.                         return true;
  93.                 }
  94.  
  95.                 @Override
  96.                 public boolean onOptionsItemSelected(MenuItem item) {
  97.                         // TODO Auto-generated method stub
  98.                  switch(item.getItemId()){
  99.                  case R.id.about:
  100.                          Intent i = new Intent("com.pepakbahasajawa.ABOUT");
  101.                          startActivity(i);
  102.                          break;
  103.                  case R.id.exit:
  104.                                 finish();
  105.                                 break;
  106.                  }
  107.                  return false;
  108.                 }
  109.  
  110. }
Parsed in 0.044 seconds, using GeSHi 1.0.8.4


please anyone fix this.
Thanks
gabisabobo
Freshman
Freshman
 
Posts: 4
Joined: Sat Oct 08, 2011 3:54 am
Location: Ngawi - Indonesia

Top

Return to Novice Tutorials

Who is online

Users browsing this forum: No registered users and 5 guests