fragment的入门DEMO

来源:互联网 发布:tftp软件下载 编辑:程序博客网 时间:2024/04/28 22:11

效果图:




代码如下:

1、main.xml

<?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>



2、TitleFragment

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);}}



3、DetailFragment

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;}}


原创粉丝点击