2012-06-03 2 views
1

Android에이 기능이 있는지, 또는 그렇게 할 방법이 있는지 잘 모르겠습니다. 나는 Doc를 보았지만이 사용을 위해 구체적으로 아무것도 보지 못했다. 유용한 방법이 있습니까? 어떤 도움을 많이 주셨습니다.사용자가 볼 수없는 Android보기에 값을 저장하는 속성 또는 방법이 있습니까?

TextView 멤버가있는 의제 목록에 필요합니다. 그러나 사용자가 하나를 클릭하면 해당 일정 정보에 액세스 할 수있는 방법이 필요하므로 해당 이벤트 정보를 참조하기 위해 데이터베이스에서 ID를 저장하는 것과 같지만 사용자가 숨길 필요가 있습니다.

답변

4

setTag()getTag()을 사용하면 원하는 유형의 객체로 전달할 수 있습니다.

여기에 the reference입니다. 코멘트

에서

추가는 나는 데이터베이스를 몇 번 쿼리보다는 모든을 잡고 하나의 커서를 가지고 간단한 믿습니다.

예를 들어, 다음과 같은 열이있는 표가있는 경우 : events(_id, name, startTime, endTime, people, etc). 당신은 SELECT * FROM events라고 부를 수 있습니다. 그러나 이벤트에 대한 세부 사항 만 원한다면 과도한 것으로 보입니다. SELECT _id, name FROM events을 쿼리하여 ListView에 저장하는 것이 좋습니다. 그런 다음 가질 수 있습니다 :

listView.setOnItemClickListener(new OnItemClickListener() { 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
     detailCursor = database.rawQuery(`SELECT * FROM events WHERE _id = ?`, new String[] { id }); 
     // Display this event's details somehow 
    } 
} 

보조 커서는 가장 단순합니다. 사용 된 이벤트 세부 사항에 대해 메모리를 할당하지 않으며 이러한 반복 된 마이너 쿼리로 인해 상당한 성능 손실이 발생하지 않습니다. 이와 같은 경우에는 View 태그에 아무 것도 저장하지 않으므로 일반 커서 (모든 이벤트의 ID 및 이름 포함)와 세부 커서가 필요한 모든 것을 제공해야합니다.

희망이 있습니다.

+0

와우, 나는 그것을 놓쳤다는 것을 믿을 수 없다 !!! 고마워요! – Andy

+0

태그를 사용하는 조금 이상하지만 좋은 방법 :) +1 –

+0

질문이 하나 있습니다. 어떤 물건이라도 나는 왜 LOL에 관해서 혼란 스럽다. 나는 내가 그것을 가져올 때 그것을 내가 필요한 대상으로 던져야한다고 생각하지만, 나는 목록이 있다고 가설을 세운다. 내가 만드는 목록이 너무 길어지는 것은 의심 스럽지만 목록에있는 모든보기가있는 개체를 저장하는 것이 좋지 않겠습니까? 나는 성능 측면에서 말하고있는 것 같다. – Andy

관련 문제