2012-09-04 4 views

답변

2

나는 당신이 SimpleCursorAdapter (또는 유사)를 사용한다고 가정합니다, 그래서 OnItemClickListener 사용합니다 :

listView.setOnItemClickListener(new OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
     // id references the SQLiteDatabase _id column 
    } 
}); 
+0

그러나 선택한 항목의 ID는 어떻게 받습니까? – Tim

+0

사용자가 ListView 행을 클릭하면'onItemSelected()'가 호출됩니다. 'onItemSelected()'안에는 변수'id'가 있습니다. 이것은 ID 열의 ID입니다. – Sam

+0

감사합니다. 또한이 작업을 수행 할 수 있습니다. myList.getId(); – Tim

1

여기가 날 위해 일한 방법입니다. 다른 클래스에서는 List 형식의 메서드를 만들고 열 id &을 sqlite 데이터베이스의 목록에있는 항목 이름에 추가했습니다.

다음은 선택한 항목의 열 ID를 검색하는 코드입니다.

public List<String> list; 
    adapt = new MyAdapter(this, R.layout.list_inner_view, list); //custom adapter 
    listTask.setAdapter(adapt); 

    listTask.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> adapterView, View v, int position, long l) { 

      Integer id = list.get(position).getId(); 
      //position is the position of the item in the list. 
     } 
    }); 

결과 : 항목이 목록의 세 번째 위치에 있습니다. 이전 항목을 삭제했기 때문에 데이터베이스 column_id (자동 증가) 값은 12입니다. 따라서 기대하는 결과는 변수 id의 값인 12입니다.

완전히 이해하지 못하는 경우 전체 코드를 게시하지 않았기 때문일 수 있습니다. 하지만 당신 문제를 도와 줄께요.

관련 문제