안드로이드 개발 질문/답변
(글 수 45,052)
SQLite의 데이터를 SimpleCursorAdapter를 이용하여 ListView 에 씌워서
리스트 표시하고 리스트의 해당 아이템을 클릭시 클릭한 아이템의 데이터를
로드 할려고 하는데 잘 안되네요 ㅜ,.ㅜ
======================================================================
리스트 표시하고 리스트의 해당 아이템을 클릭시 클릭한 아이템의 데이터를
로드 할려고 하는데 잘 안되네요 ㅜ,.ㅜ
======================================================================
mHelper = new ProductDBHelper(this);
SQLiteDatabase db = mHelper.getWritableDatabase();
cursor = db.rawQuery("SELECT * FROM product", null);
startManagingCursor(cursor);
SimpleCursorAdapter Adapter = null;
Adapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_2,
cursor, new String[] { "dbname", "dbphone" },
new int[] { android.R.id.text1, android.R.id.text2});
ListView list = (ListView)findViewById(R.id.list);
list.setAdapter(Adapter);
======================================================================
대략 위 코드를 수정하여 클릭한 데이터를 로드할수 있게 알려주세요 ㅜ,.ㅜ
3일째 여기서 막히네요..
대략 위 코드로 작성하다 보면 데이터 로드 할려고 mes = "Select DB" + list.get(position); 이부분에서
get 밑에 빨간줄 나오네요 ㅡㅡ; 별짓을 다해도 list 밑이나 get 밑에 빨간중 ㅜ,.ㅜ
고수님께서 간단하니 코드 작성해주심 감사하겠습니다 ㅡㅜ;
대략 위 코드를 수정하여 클릭한 데이터를 로드할수 있게 알려주세요 ㅜ,.ㅜ
3일째 여기서 막히네요..
대략 위 코드로 작성하다 보면 데이터 로드 할려고 mes = "Select DB" + list.get(position); 이부분에서
get 밑에 빨간줄 나오네요 ㅡㅡ; 별짓을 다해도 list 밑이나 get 밑에 빨간중 ㅜ,.ㅜ
고수님께서 간단하니 코드 작성해주심 감사하겠습니다 ㅡㅜ;
2010.08.17 11:00:49
ListView(혹은 View)에는 get(int)한 메소드가 없다는 소리겠죠.
java.util 의 ArrayList나 Vector에는 get(int location) 이란 메소드가 있구요.
2010.08.17 11:43:55
=====================================================
public class retest extends Activity {
ProductDBHelper mHelper;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ListView list;
mHelper = new ProductDBHelper(this);
Cursor cursor;
SQLiteDatabase db = mHelper.getWritableDatabase();
cursor = db.rawQuery("SELECT * FROM product", null);
startManagingCursor(cursor);
SimpleCursorAdapter Adapter = null;
Adapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_2,
cursor, new String[] { "dbname", "dbteam" },
new int[] { android.R.id.text1, android.R.id.text2});
list = (ListView)findViewById(R.id.list);
list.setAdapter(Adapter);
}
}
class ProductDBHelper extends SQLiteOpenHelper {
public ProductDBHelper(Context context) {
super(context, "Product.db", null, 1);
}
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE product ( _id INTEGER PRIMARY KEY AUTOINCREMENT, " +
"dbname TEXT, dbphone TEXT, dbmphone TEXT, dbrespon TEXT, dbteam TEXT, dbpart TEXT);");
db.execSQL("INSERT INTO product VALUES (null, '홍길동', '054-000-0000', '010-0000-0000', '관리', '직원', '경북');");
db.execSQL("INSERT INTO product VALUES (null, '이순신', '054-111-1111', '010-0000-0000', '생산', '직원', '경북');");
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS product");
onCreate(db);
}
}
=================================================================
위 코드가 현재 기본 코드입니다 ㅜㅜ 디비-> 어덥터-> 리스트뷰
문제는 리스트뷰에서 아이템 클릭해서 해당 아이템의 값을 가져올려는데 안됨 ㅜ,.ㅜ
위 코드 실행하면
-------------------------
홍길동
직원
<meta charset="utf-8">-------------------------
이순신 <= "dbname"
직원 <= "dbteam"
<meta charset="utf-8">-------------------------
이렇게 나옵니다 "이순신; 직원" 클릭시 이순신 값만 가져오고 싶은데 어떻게 해야할지 모르겠습니다 ㅜ,.ㅜ
구문 코드 작성 좀 도와주세요 ㅜ,.ㅜ