2012-04-03 21 views
1

私はアプリを持っており、タブの1つにタスクリストがあります。私の意図は、そのリストの要素の1つをクリックすると、そのタスクのdetaisを見たいと思っています。リストとそのタスクの詳細を同じページで表示できますか?私はEclipseを使用しています。Androidのマスター詳細レイアウト

+0

最適な解決策は、フラグメントhttp://developer.android.com/guide/topics/fundamentals/fragments.htmlを使用することです。 –

答えて

0

リストビューアイテムをクリックして選択項目の詳細を表示することができますPopupWindowを開くことができます。項目のオープンPopupWindowについてあなたはいけない何らかの理由でフラグメントを使用したい場合はsee

0

をクリックします(たとえば、あなたが今までにこのビューを再利用することが文句を言わない)あなたもこれを行うことができ - 簡単でシンプル:

これは次のようになりをあなたの分割画面レイアウトsplitscreen.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/linearLayout1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="horizontal" > 

    <LinearLayout 
     android:id="@+id/task_list_wrap" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:orientation="vertical" 
     android:padding="2dp" > 

     <ListView 
      android:id="@+id/task_list" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:overScrollMode="never" > 
     </ListView> 
    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/task_details" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical"> 

     <TextView 
      android:id="@+id/task_details_description" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="this is description text" /> 
    </LinearLayout> 

</LinearLayout> 

そして、あなたの活動に次のようにタスクリストをクリックしたときには、タスクの詳細パネルの内容を変更します

setContentView(R.layout.splitscreen); 
ListView taskList= (ListView) findViewById(R.id.task_list); 
TextView taskDescription = (TextView) findViewById(R.id.task_details_description); 
taskList.setOnItemClickListener(new OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> parent, View view, 
     int position, long id) { 
     int selectedTask = position; 
     updateTaskDescription(selectedTask, taskDescription); 
    } 
}); 
関連する問題