2011-10-13 2 views
0

텍스트 및 이미지와 같은 데이터베이스의 데이터를 표시하지만 코드가 작동하지 않습니다. 내 프로젝트에 this tutorial을 사용합니다. 이 내 자바 클래스 :SimpleCursorAdapter.ViewBinder를 사용하여 데이터베이스의 텍스트 및 이미지 표시

public class PepakPostView extends ListActivity { 
    protected TextView postOne; 
    protected TextView postTwo; 
    //protected view picture; 
    protected ListAdapter adapter; 
    protected int subcatId; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.post); 
     subcatId = getIntent().getIntExtra("SUBCATEGORY_ID", 0); 
     SQLiteDatabase db = (new DatabaseHelper(this)).getWritableDatabase(); 
     Cursor cursor = db.rawQuery("SELECT _id, subcatId, postOne, postTwo, picture FROM posts WHERE subcatId = ?", 
       new String[]{""+subcatId}); 

     SimpleCursorAdapter pepak = new SimpleCursorAdapter(
       this, 
       R.layout.post_list, 
       cursor, 
       new String[] {"postOne", "postTwo", "picture"}, 
       new int[] { R.id.postOne, R.id.postTwo, R.id.picture }); 

      pepak.setViewBinder(new MyViewBinder()); 

    } 


    @Override 
     public boolean onCreateOptionsMenu(android.view.Menu menu) { 
      // TODO Auto-generated method stub 
      super.onCreateOptionsMenu(menu); 
      MenuInflater blowUp = getMenuInflater(); 
      blowUp.inflate(R.menu.coll_menu, menu); 
      return true; 
     } 

     @Override 
     public boolean onOptionsItemSelected(MenuItem item) { 
      // TODO Auto-generated method stub 
     switch(item.getItemId()){ 
     case R.id.about: 
      Intent i = new Intent("com.pepakbahasajawa.ABOUT"); 
      startActivity(i); 
      break; 
     case R.id.exit: 
       finish(); 
       break; 
     } 
     return false; 
     } 

} 

MyViewBinder.java는 :

public class MyViewBinder implements ViewBinder { 

    public boolean setViewValue(View view, Cursor cursor, int columnIndex) { 
     int viewId = view.getId(); 
     switch(viewId) { 

     /* 
     case R.id.postOne: 

       TextView postOne = (TextView) view; 
       postOne.setText(Cursor.getString(columnIndex)); 

      break; 

      case R.id.postTwo: 

       TextView postTwo = (TextView) view; 
       postTwo.setText(Cursor.getString(columnIndex)); 

      break; 
*/ 
      case R.id.picture: 

       ImageView pictureIcon = (ImageView) view; 
       int picture = cursor.getInt(columnIndex); 
       switch(picture) { 
        case 1: 
         pictureIcon.setImageResource(R.drawable.icon); 
        break; 
        case 2: 
         pictureIcon.setImageResource(R.drawable.home_normal); 
        break; 
       } 

      break; 
     } 
     return false; 
    } 
} 

어떻게이 문제를 해결하려면?

답변

0

pepak 변수는 ListView에서 사용되지 않습니다. ListView가 비어 있습니다.

setListAdapter (pepak); //?