activity_main.xml
<fragment
android:name="com.example.l12\_fragment3.TitleListFragment"
android:layout\_width="0dp"
android:layout\_weight="1"
android:layout\_height="match\_parent" />
<FrameLayout
android:id="@+id/fl\_main\_container"
android:layout\_width="0dp"
android:layout\_weight="3"
android:layout\_height="match\_parent" >
</FrameLayout>
list_item.xml
public class MainActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\_main);
}
}
public class DataUtils {
public static final String[] TITLES = {"title1","title2","title3","title4","title5"};
public static final String[] DETAILS = {"This is title1","This is title2",
"This is title3","This is title4","This is title5"};
}
public class TitleListFragment extends ListFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return super.onCreateView(inflater, container, savedInstanceState);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
//设置ListView为单选模式
getListView().setChoiceMode(ListView.CHOICE\_MODE\_SINGLE);
// 给listView设置adapter显示列表
setListAdapter(new ArrayAdapter<String>(getActivity(),
R.layout.list\_item, DataUtils.TITLES));
//默认选中第一个item
getListView().setItemChecked(0, true);
//显示第一个详情
showDetail(0);
}
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
showDetail(position);
}
/\*\*
\* 显示指定下标的详情
\* @param position
\*/
private void showDetail(int position) {
//创建DetailFragment
DetailFragment fragment = new DetailFragment();
//将对应的详情数据携带过去
Bundle args = new Bundle();
args.putString("DETAIL", DataUtils.DETAILS\[position\]);
fragment.setArguments(args);
//将其替换到id为fl\_main\_container的容器布局中
getFragmentManager().beginTransaction().replace(R.id.fl\_main\_container, fragment).commit();
}
}
public class DetailFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
TextView textView = new TextView(getActivity());
//取出保存的数据
String detail = getArguments().getString("DETAIL");
//设置
textView.setText(detail);
return textView;
}
}
手机扫一扫
移动阅读更方便
你可能感兴趣的文章