2013-01-10 6 views
1

ListView에는 예를 들면 here으로 표시된 예에서 성형 된 맞춤 어댑터가 있습니다.목록보기 항목의 레이아웃 변경 onclick

나는 사용자의 선택을 받아 들여 그 선택에 대한 다른 레이아웃을 부풀려 싶습니다. 항목을 선택하면 더 많은 정보를 표시하도록보기를 확장 할 수 있습니다. 이런 식으로 새로운 레이아웃을 클릭하기 만해도됩니까? 내가 초기 목록에했던 것처럼, 개별 TextViewImageView 개체를 채우는 것입니다 코드 섹션 후

protected void onListItemClick(ListView list, View v, int position, long id){ 
    super.onListItemClick(list, v, position, id); 
     LayoutInflater inflate = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     v = inflater.inflate(R.layout.new_layout, null); 

는이 시간이 좀 더 필드를 포함한다. 이게 맞습니까? 더 좋은 접근 방법이 있습니까?

답변

0

내가보기에 아무 것도하지 않았으므로이 기능이 작동하지 않습니다. 당신은 단지 그 참조를 대체하고 (새로 부 풀린 뷰를 사용하지 않고) 뷰 트리에서 실제로 아무것도 수정하지 않았습니다.

당신이 할 수있는 일은 그 내용에서보기를 비우고 그 안에 새로운 내용을 추가하는 것입니다.

getView에서 같은 것을하고이 내용으로보기를 반환해야한다는 것을 잊지 마십시오.

+0

그래서 전체 목록보기를 지울 필요가 있습니까? 해당 품목을 지우고 그 부분 만 교체 할 수 있습니까? 나는 이것이 내가 혼란스러워하는 곳이라고 생각한다. – Rarw

+0

아니, 나는 listview를 지우라고 말하지 않았는데, 당신이 클릭 한 행의 뷰인 onListItemClick에 들어간다는 견해를 정리했다. listview는 모든 항목을 포함하고 있으므로 어떤 식 으로든 자녀를 혼동해서는 안됩니다. listView에 대한 많은 정보를 보려면 "listView의 세계"를 시청하시기 바랍니다. http://www.google.com/events/io/2010/sessions/world-of-listview-android.html –

+0

예, 그렇습니다. Google io 동영상을 보는 것이 좋습니다. 또한 비트 맵을 효율적으로 처리하는 방법에 대한 튜토리얼을 제공합니다 (일반적으로 웹에서 처리 할 때 listview와 함께 사용합니다). http://developer.android.com/training/displaying-bitmaps/index.html –

관련 문제