android 中Fragment 的简单使用
2013-04-19 15:30
337 查看
1.以下程序界面是参考官网代码来实现:
2.主要是加载一个布局文件:
activity_main.xml
2.主要是加载一个布局文件:
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
package com.sunplus.app.activity; import android.app.FragmentTransaction; import android.app.ListFragment; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; import com.sunplus.app.util.LeftTitle; public class TitlesFragment extends ListFragment { @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); // Populate list with our static array of titles. setListAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_activated_1, LeftTitle.DEVICENAME)); } @Override public void onListItemClick(ListView l, View v, int position, long id) { showDetails(position); } private void showDetails(int index) { // Check what fragment is currently shown, replace if needed. DetailsFragment details = (DetailsFragment) getFragmentManager().findFragmentById(R.id.details); if (details == null || details.getShownIndex() != index) { // Make new fragment to show this selection. details = DetailsFragment.newInstance(index); // Execute a transaction, replacing any existing fragment // with this one inside the frame. FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.replace(R.id.details, details); ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE); ft.commit(); } } }
package com.sunplus.app.activity; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.sunplus.app.adapter.GetDetailData; public class DetailsFragment extends Fragment { /** * Create a new instance of DetailsFragment, initialized to show the text at * 'index'. */ public static DetailsFragment newInstance(int index) { DetailsFragment f = new DetailsFragment(); // Supply index input as an argument. Bundle args = new Bundle(); args.putInt("index", index); f.setArguments(args); return f; } public int getShownIndex() { return getArguments().getInt("index", 0); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = null; //此处添加需要显示的布局文件 return view; } }
activity_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/titles" android:layout_width="0dip" android:layout_height="match_parent" android:layout_weight="1" class="com.sunplus.app.activity.TitlesFragment" /> <FrameLayout android:id="@+id/details" android:layout_width="0dip" android:layout_height="match_parent" android:layout_weight="1" android:background="?android:attr/detailsElementBackground" /> </LinearLayout>
相关文章推荐
- android菜鸟学习笔记27----Fragment的简单使用
- Android零基础入门第85节:Fragment使用起来非常简单
- Android 实现同个Activity中存在多个Fragment多次切换之后依次返回(一)(Fragment回退栈简单使用)
- Android使用Fragment应用实战,简单的实习例子
- android DialogFragment简单使用
- android FragmentTabHost 的简单使用
- Android:使用fragment(碎片)—让你的应用更灵活(一)简单运用
- android Fragment的简单使用
- Android 实现同个Activity中存在多个Fragment多次切换之后依次返回(一)(Fragment回退栈简单使用)
- Android上Fragment的简单使用
- android FragmentTabHost 的简单使用
- android fragment的简单使用
- Android 关于ViewPager结合碎片Fragment的简单使用
- Android进阶之路 - Fragment(碎片化)、进栈、不进栈的简单使用(一)
- android学习之fragment的简单使用
- Android fragment的简单使用
- android FragmentTabHost的简单使用
- Android中DialogFragment的简单使用及常见问题
- Android-FragmentTabHost的简单使用
- Fragment+ViewPager的简单使用 Android