public void onClick(View v) {
switch(v.getId())
{
case R.id.one_btn :
mDatabase = myDB.getWritableDatabase();
ListView list = (ListView)findViewById(R.id.one_list);
ArrayList<String> ar = new ArrayList<String>();
ArrayAdapter<String> Adapter2;
Adapter2 = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, ar);
EditText item = (EditText)findViewById(R.id.one_edit);
String find = item.getText().toString();
if(!find.equals(""))
cur = mDatabase.rawQuery("SELECT bun, name, juso FROM Member_dic WHERE name LIKE '" + find + "%'", null); else
cur = mDatabase.rawQuery("SELECT bun, name, juso FROM Member_dic", null);
while(cur.moveToNext())
{ String print_str = String.format("%2s%6s %-15s", cur.getString(0), cur.getString(1), cur.getString(2));
Adapter2.add(print_str);
}
list.setAdapter(Adapter2);
list.setOnItemClickListener(this);
break;
이렇게 String print_str = cur.getString(0), cur.getString(1), cur.getString(2)); 값을 받아왔는데요
보면
public void onItemClick(AdapterView<?> Adapter, View view, int position, long id)
{
AlertDialog.Builder Dg = new AlertDialog.Builder(view.getContext());
ImageAdapterShow Cimg1 = new ImageAdapterShow();
switch(Adapter.getId())
{
case R.id.one_list :
cur = mDatabase.rawQuery("SELECT * FROM Member_dic where bun = "+ position + " + 1 " , null);
cur.moveToNext(); //반드시 해야함
Dg.setTitle(cur.getString(1));
Dg.setIcon(Cimg1.img[position]);
String bname = "", jname = "";
switch(Integer.parseInt(cur.getString(3)))
{
case 1 : bname = "총무부"; break;
case 2 : bname = "영업부"; break;
case 3 : bname = "관리부"; break;
case 4 : bname = "홍보부"; break;
}
switch(Integer.parseInt(cur.getString(4)))
{
case 1 : jname = "이사"; break;
case 2 : jname = "부장"; break;
case 3 : jname = "과장"; break;
case 4 : jname = "사원"; break;
}
String msg = "번호 : " + String.valueOf(cur.getString(0)) + "\n" +
"성명 : " + cur.getString(1) + "\n" +
"생년월일 : " + cur.getString(2) + "\n" +
"부서명 : " + bname + "\n" +
"직위명 : " + jname + "\n" +
"주소 : " +cur.getString(6) + "\n" ;
Dg.setMessage(msg); // 하단 내용
Dg.setNegativeButton("닫기", this);
Dg.show();
break;
밑줄친 부분에
cur = mDatabase.rawQuery("SELECT * FROM Member_dic where bun = "+ position + " + 1 " , null);
대신
cur = mDatabase.rawQuery("SELECT * FROM Member_dic where bun = "+ cur.getString(1) , null);
하면 오류가 나는데 왜그런지 알려주실수 있나요?
그림처럼 리스트뷰에 검색된 값을 알럿으로 알려주고 싶은데.. 여기서 저 lee를 클릭하면 오류가 뜨면서 종료되서요 ㅠㅠ
간절히 부탁드립니다. 왜그런지 해결좀 부탁드려요




작은따옴표로 cur.getString(1)을 감싸줘보세요.
cur = mDatabase.rawQuery("SELECT * FROM Member_dic where bun = '"+ cur.getString(1)+"'" , null);
이런식으로요.. 예전에 이런것때문에 안됬던 기억이 있어서 올려봅니다.