<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <fragment android:id="@+id/title" class="com.njupt.fragment1.TitleFragment" android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="1" /> <FrameLayout android:id="@+id/detail" android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="1" /> </LinearLayout>
package com.njupt.fragment1;import android.app.FragmentManager;import android.app.FragmentTransaction;import android.app.ListFragment;import android.os.Bundle;import android.view.View;import android.widget.ArrayAdapter;import android.widget.ListView;public class TitleFragment extends ListFragment {private String[] data = new String[]{"星期一","星期二","星期三","星期四","星期五","星期六","星期天"};private int currentPosition = 0;@Overridepublic void onActivityCreated(Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);setListAdapter(new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_activated_1,android.R.id.text1,data));showDetail(currentPosition);}public void showDetail(int index){FragmentManager fm = getFragmentManager();DetailFragment detail = (DetailFragment) fm.findFragmentById(R.id.detail);if(detail == null || index != detail.getShowIndex()){getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);getListView().setItemChecked(index, true);detail = DetailFragment.getInstance(index);FragmentTransaction ft = fm.beginTransaction();ft.replace(R.id.detail, detail);ft.commit();}}@Overridepublic void onListItemClick(ListView l, View v, int position, long id) {super.onListItemClick(l, v, position, id); showDetail(position);}}
package com.njupt.fragment1;import android.app.Fragment;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;public class DetailFragment extends Fragment {private String[] data = new String[]{"星期一","星期二","星期三","星期四","星期五","星期六","星期天",};public static DetailFragment getInstance(int index){DetailFragment df = new DetailFragment();Bundle args = new Bundle();args.putInt("index", index);df.setArguments(args);return df;}public int getShowIndex(){return getArguments().getInt("index");}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {TextView tv = new TextView(getActivity());tv.setText(data[getShowIndex()]);return tv;}}