안드로이드 개발 질문/답변
(글 수 45,052)
해쉬맵, simpleadapter로 latlng(위도경도)를 받아 디비에 저장하는 클레스입니다. 출력은 다른 부분에 있고요
거기에 리스트뷰에 이미지를 같이 나오게 해야하는데 심플어뎁터로 이미지가 나오게 할 수있는지 아니면
커스텀어댑터로 따로만들어 준다면 어떤식으로 정의를 해야할까요
오브젝트로 선언한 부분에 인트값으로 주고 이미지(sd카드, 혹은 drwable 무관) 를 넣어주면 되는거 아닌가요?
답변 꼭 좀 부탁드립니다.ㅠㅠ
(프로젝트 파일도 첨부합니다.)
package com.android.location1;
import java.util.ArrayList;
import java.util.HashMap;
import com.android.location1.R.drawable;
import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.provider.ContactsContract.Data;
import android.util.Log;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.SimpleAdapter;
public class TodoList {
public BaseAdapter Adapter = null;
ArrayList<HashMap<String, Object>> _DataSource = new ArrayList<HashMap<String, Object>>();
int image = IMAGES;
public static final int IMAGES = R.drawable.arrow3;
private static final String ID = "ID";
private static final String ICON = "ICON";
private SQLiteDatabase _DB = null;
private Cursor _Cursor;
static private Activity _Activity = null;
//
//
// Bitmap src = BitmapFactory.decodeFile("/sdcard/image.jpg");
// Bitmap resized = Bitmap.createScaledBitmap(src, 90, 90, true);
//
public TodoList(Activity AActivity) {
super();
Log.e("", "111111");
_Activity = AActivity;
_DB = _Activity
.openOrCreateDatabase("SI", _Activity.MODE_PRIVATE, null);
Log.e("", "---in");
_DB.execSQL("Create Table IF NOT EXISTS TodoList (latlng varchar)");
Log.e("", "222222");
// setAdapter(new CustomAdapter(getApplicationContext(),
// R.layout.customview));
// Adapter= new BaseAdapter(this, object);
Adapter = new SimpleAdapter(_Activity, _DataSource,
android.R.layout.simple_list_item_2, new String[] { ID, ICON },
new int[] { android.R.id.text1, android.R.id.icon });
Log.e("", "333333");
Refresh();
// runSimpleAdapter();
}
public void Refresh() {
_Cursor = _DB.rawQuery("Select * from TodoList", null);
Log.e("", "8 888888888");
if (_Cursor.moveToFirst()) {
do {
// Object id = _DataSource.get( R.drawable.icon );
// ImageView thumbnail =(ImageView)row.findViewById(R.id.icon);
HashMap<String, Object> _Item = new HashMap<String, Object>();
_Item.put("ID", _Cursor.getString(0).toString());
_Item.put("ICON", image);
// _Item.put(ICON, id);
_DataSource.add(_Item);
} while (_Cursor.moveToNext());
}
Adapter.notifyDataSetChanged();
}
public void Append(String latlng) {
Log.e("", "77777777" + " " + latlng);
_DB.execSQL("Insert into TodoList values('" + latlng + "')");
Adapter.notifyDataSetChanged();
}
}




이미지가 다 똑같은 이미지인지 아닌지, 그리고 이미지 클릭시에 특정 액션이 일어나야 하는지가 필요할 것 같네요. 이미지가 제각각이거나 액션이 들어가면 커스텀으로 어댑터를 짜는게 맞을겁니다 아마