안녕하세요
관련글이 질답 게시판에 있지만 잘 이해를 하지 못해 글올려봅니다
완전 초짜구요..
화면 구성이 텍스트에디트 에서 값을 입력을 받아 클릭버튼을 누르면
DB에서 셀렉트하여 리스트뷰에 보여지게하는 구성인데요
다른분 소스 참고하여 리스트뷰로 보여지게 까지는 했는데요
리스트뷰 클릭시
여러 예제를 참고하여 setOnItemClickListener 라는걸 사용하면 된다는것까지는 알았는데
적용을 할수가 없어 고민중입니다
아래소스중 리스팅 되는
SimpleCursorAdapter Adapter = new SimpleCursorAdapter(this,R.layout.textview,cursor,new String[]{
"barcode","price0","price1","name","Qty"},new int[]{
위 barcode,name 의 값을 가져오고 싶은데요.
고수분들의 관심이 필요합니다 ^^
도와주세요..
public class Order extends Activity {
private DBHelper dbHelper = new DBHelper(this);
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.order);
SQLiteDatabase db = dbHelper.getWritableDatabase();
Cursor cursor = null;
cursor=db.rawQuery("SELECT * from vend",null);
startManagingCursor(cursor);
cursor.moveToFirst();
findViewById(R.id.serchB);
}
public void clickSerch(View v){
EditText editText;
editText=(EditText)findViewById(R.id.inputText);
String inPut = editText.getText().toString();
InputMethodManager inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(editText.getWindowToken(), 0);
Cursor cursor = null;
SQLiteDatabase db = dbHelper.getWritableDatabase();
cursor=db.rawQuery("SELECT * from items WHERE name LIKE '%"+inPut+"%' OR barcode LIKE '%"+inPut+"%'",null);
startManagingCursor(cursor);
cursor.moveToFirst();
SimpleCursorAdapter Adapter = new SimpleCursorAdapter(this,R.layout.textview,cursor,new String[]{
"barcode","price0","price1","name","Qty"},new int[]{
R.id.barcodeT,R.id.price0T,R.id.price1T,R.id.nameT,R.id.qtyT});
ListView list = (ListView)findViewById(R.id.list);
dbHelper.close();
list.setAdapter(Adapter);
dbHelper.close();
}
}
소중한 답변 감사합니다
아직 초보라 조언해주신 내용은 다 받아드릴 수 는 없네요ㅜ.ㅜ
ViewBinder는 아직 적용해보지 못했습니다만..
SimpleCursorAdapter Adapter = new SimpleCursorAdapter(this,R.layout.textview,cursor,new String[]{
"barcode","price0","price1","name","Qty"},new int[]{
R.id.barcodeT,R.id.price0T,R.id.price1T,R.id.nameT,R.id.qtyT});
ListView list = (ListView)findViewById(R.id.list);
dbHelper.close();
list.setAdapter(Adapter);
이런식으로 하니 리스트뷰에 내용이 나오드라구요
결론은
ViewBinder 와 onListItemClick
를 사용해야한다는 말씀인거군요.




SimpleCursorAdapter면 내용을 화면에 표시하기 위해 ViewBinder를 사용하지 않나요?
ViewBinder의 setViewValue에서 처리할 때 적당한 곳에서 원하시는 데이터를 setTag 함수 사용해서 뷰에 태그를 붙입니다.
그리고 onListItemClick에서 넘어온 뷰로부터 getTag 함수를 통해 태그를 얻습니다.
그 태그에 원하시는 정보가 들어가 있겠죠?
참고로 모든 뷰에는 태그를 붙일 수가 있고 태그는 어떠한 객체라도 됩니다.
정보가 여러 개 필요하다면 클래스 하나 만들어 태그 구조를 만들어 사용하시면 되겠지요.