2011-10-03 2 views
0

단일 테이블에서 내용을 표시하기 위해 ListView를 만드는 데 필요한 자습서가 많이 있습니다. (예 : http://thinkandroid.wordpress.com/2010/01/09/simplecursoradapters-and-listviews/)Android에서 단일 상위 레이아웃으로 두 테이블의 ListView를 표시 하시겠습니까?

내 문제는 하나의 LinearLayout 상위에 두 개의 ListView를 표시하고 싶습니다. ListViews는 동일한 데이터베이스에있는 두 개의 서로 다른 테이블에서 가져옵니다. 누구든지 나에게 그 방법을 알려주는 튜토리얼을 알려줄 것인가? (잘하면, 깨끗하고 건조한 방법으로)?

여러 개의 SimpleCursorAdapter를 사용할 수 있습니까? 레이아웃은 어떻습니까? 아이템을 어디에 두어야할지 어떻게 알 수 있습니까?

당신은 (수직 LinearLayout에 두 개의 동일한 크기의 목록)이 같은 레이아웃을 만들 수 있습니다
+0

두 개의'ListView'를 하나의'LinearLayout'에 집어 넣고 액티비티의리스트에 대해 두 개의 다른 어댑터를 설정하지 않는 이유는 무엇입니까? – Knickedi

+0

그게 내가 물어 보는거야. 왜 그런 식으로 (어쩌면 몇 가지 의사 코드) 어떻게 대답을 게시할까요? –

+0

정말 두 개의 목록보기를 사용하고 싶습니까? 좋지 않은 UX가 한 화면에 두 개의 목록보기를 가지고 있습니다. –

답변

0

:

public void onCreate(Bundle bundle) { 
    super.onCreate(bundle); 
    setContentView(R.layout.your_layout); 

    ListView list1 = (ListView) findViewById(R.id.list1); 
    list1.setAdapter(...); 

    ListView list2 = (ListView) findViewById(R.id.list2); 
    list2.setAdapter(...); 
} 

어쩌면 당신이를 삽입 할 수 :

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <ListView 
     android:id="@+id/list1" 
     android:layout_weight="1" 
     android:layout_height="0dip" 
     android:layout_width="fill_parent"></ListView> 
    <ListView 
     android:id="@+id/list2" 
     android:layout_weight="1" 
     android:layout_height="0dip" 
     android:layout_width="fill_parent"></ListView> 
</LinearLayout> 

그런 다음 당신은 당신의 활동에서 사용 그 두 개의 목록 사이에 색깔이있는 선이 표시되어 사용자가 목록을 하나의 것으로 혼동하지 않도록하십시오.

+0

가로 모드에서 UI가 너무 작기 때문에 이것은 좋은 생각이 아닙니다. –

+0

두 개의 목록이 나란히있는 가로 레이아웃의 대체 레이아웃을 제공 할 수 있습니다. – Knickedi

0

별도의 ListViews/CursorAdapter를 사용할 필요가 없습니다. 원하는 데이터에 대해 테이블에서 JOIN을 수행하면 단일 커서가 다시 나타납니다. 그런 다음 하나의 ListView와 하나의 어댑터 만 처리하면됩니다.

0

소스를 쿼리하고 데이터를 결합한 다음 단일 listview를 사용하여 표시 할 단일 어댑터를 만들 수 있습니다.

관련 문제