0

안녕하세요 저는 Android 앱을 제작하고 있습니다. 내 데이터베이스에서 일부 데이터를 가져 와서 그것을 레이아웃에서 팽창시키고 있습니다. 현재 Listview에 데이터를 표시하고 있습니다. 그러나 Listview에 데이터를 표시하는 것 외에 다른 방법이 있습니까? Listview의 표시 방식과 같이 선형 레이아웃으로 데이터를 표시하는 것과 같은 의미입니까?안드로이드는 데이터베이스의 데이터로 선형 레이아웃을 확장합니다.

내 콘텐츠가 ScrollView에 배치되고 ScrollView 내 ListView를 사용하여 Listview 요소의 높이가 완전히 표시되지 않기 때문에 ListView를 사용하고 싶지 않습니다.

내가 내 전체 레이아웃을 스크롤 할 이미지

Picture for representation

에서 참조하시기 바랍니다. 좀 더 간단하게하기 위해 코멘트 섹션에 facebook android app에있는 것처럼 전체 창이 스크롤되기를 원합니다. 맨 위의 이미지와 맨 아래의 주석 및 전체 창 스크롤과 같지만 편집 텍스트와 버튼에 대한 주석 달기는 고정되어 있습니다.

어떤 도움 ??

내 질문이 너무 길어서 죄송합니다.

미리 감사드립니다.

답변

0

하이 에드 Sehu Mujammil A,

당신은 당신의 목표를 달성하기 LinearListViewlibrary 활용할 수 있습니다. 이 라이브러리를 사용하면 LinearLayout에 바인딩하는 ListAdapter를 작성할 수 있습니다. 그런 다음이 "ListView"(ScrollView 내에서 실제로 ListView가 아님)를 넣을 수 있습니다. 그러면 전체 레이아웃이 원하는대로 스크롤 할 수 있습니다.

<ScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <!-- Your Title and other stuff in the green section here --> 
     </LinearLayout> 

     <com.linearlistview.LinearListView 
      xmlns:app="http://schemas.android.com/apk/res-auto" 
      android:id="@+id/main_linear_list_view" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical" 
      android:showDividers="none|middle|beginning|end" 
      android:divider="#488888" 
      android:dividerPadding="2dp" 
      app:dividerThickness="2dp" 
      /> 


    </ScrollView> 

그런 다음 보통의 ListView 같은 BaseAdapter 또는 ListAdapter (당신이 당신의 getView() 메소드를 최적화해야합니다)와 LinearListView을 처리 할 수 ​​있습니다 :이 같은 설정보기를 할 수 예를 들어

. 여기서주의해야 할 점은이 라이브러리는 선형 레이아웃을 사용하고 많은 요소를로드하면 UI 스레드를 잠글 수 있다는 것입니다 (ListView와는 달리 오브젝트를 안팎으로로드합니다). getView() 및 notifyDatasetChange() 메소드를 현명하게 처리하여 초기로드 (IE : 데이터를로드하는 데 도움이되는 ExecutorThreadPools가있는 AsyncTasks 등)를보다 효과적으로 최적화 할 수 있습니다.

도움이 되었기를 바랍니다.

-evan

관련 문제