2014-10-21 5 views
2

웹에서 데이터를 검색하는 ListView가 있습니다. 웹에서 데이터를 가져 오는 동안 ListView가 회전 진행률 표시 줄을 표시하고 가져온 데이터가없는 경우 간단한 텍스트 'No Data'를 표시하려고합니다. 그렇지 않으면 가져온 데이터가 표시됩니다.빈보기 및로드보기가있는 ListView

어디서나 Google이 진행률 표시 줄을 목록의 빈보기로 사용할 것을 제안합니다. (example 참조)

로딩 뷰 + 빈 뷰가 필요하기 때문에 실제로는 이해가되지 않습니다. 이 작업을 수행하는 방법을 설명하는 예제가 있습니까? 아니면 누군가가 이것을 구현하기위한 적절한 단계를 명확히 할 수 있을까요?

+0

는 그냥 EmptyView과 발전을위한 대화에 대한 텍스트 뷰를 사용은, 아마도 AsyncTask를에 의해 구동. –

+0

대화 상자를 사용할 수 없습니다. 특히 ProgressBar를 사용하려고합니다. 내가 만드는 모든 것은 탭이있는보기 호출기에 포함되어 있습니다. 탭에는 ListView가 포함 된 조각이 들어 있습니다. 각 ListView는 자체 ProgressBar를 관리합니다. – prettyvoid

+0

좋습니다, ProgressBar는 ListView 헤더에 넣을 수 있습니다. 또는 바닥 글에. 또는 머리말에 ProgressBar가 있고 꼬리말에 "Loading ..."글씨가 있어야합니다. 혹은 그 반대로도. –

답변

1

"로드 중"보기 (예 : 불확실한 진행 막대 및 텍스트보기가있는 절대 레이아웃)에 사용할 레이아웃을 작성하여 ListView의 바닥 글보기로 사용할 수 있습니다.

그런 다음 필요에 따라 꼬리말을 추가하거나 제거하십시오.

// get reference to the footer view 
View footerView = ((LayoutInflater) ActivityContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.footer_layout, null, false); 

//add the footer view 
listView.addFooterView(footerView); 

//remove the footer view 
listView.removeFooterView(footerView); 

Reference 1 , Reference 2

+0

Funkystein은 이미 위에서 언급 한 반면, 많은 디자인 제한이있는 멋진 아이디어입니다. 로딩이리스트 뷰의 중앙에 집중되는 디자인을하려고합니다. 상단 또는 하단에 없습니다. 목록이 비어 있다면 바닥 글이 맨 위에 표시됩니다. 또한 Footer + Header가 listview의 행으로 계산된다는 것을 언급 할 필요가 있습니다. 이는 헤더가 있고 첫 번째 REAL 행을 검색하려는 경우 .get (1)을 수행한다는 것을 의미합니다. 그러나이 방법을 사용하면 큰 문제는 아니지만 데이터를 가져 오는 동안 바닥 글/머리글 만 표시되므로 여전히 디자인의 한계가 있습니다. – prettyvoid

+0

진행률 표시 줄을 목록보기와 겹치게하는 것이 문제입니까? 또한 데이터의 초기로드에만 사용할 로딩 뷰를 찾고 있습니까 아니면 기존 데이터로 더 많은 데이터를로드 할 때 표시/숨길 필요가 있습니까? – AnxGotta

+0

위의 Funky에 대한 내 답글을 참조하십시오. 나의 주요 목적은 목록에 0 개 항목 (업데이트 전)이있을 때 초기에로드를 표시하는 것입니다. 업데이트시 스 와이프 새로 고침 레이아웃이 표시되어로드 중입니다. 귀하의 제안에 감사드립니다. – prettyvoid