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;
}
}
어떻게이 문제를 해결하려면?