zoukankan      html  css  js  c++  java
  • Android 3.0 以下 使用Fragment 实例

    首先在 Android 3.0以下使用 Fragment 要导入 android.support.v4 这份包,

    例外在低版本中使用 Fragment 时,可能出现很多不好解决的错误。

    一个非常可能的错误是:

    import 高版本的Fragment包

    还import 这个支持库。我想你会出现很多不可思意的错误。


    另一个,是你要使用 FragmentManager 就 主Activity 必须继承 FragmentActivity


    我们就先讨论这个,DialogFragment 这的使用和实现一 Dialog

    本实例只为 最简化,清晰的理解 Fragment,固代码精简了很多。

    源文件:

    1.MainActivity.java

    2.MyDialogFragment.java

    3.activity_main.xml


    1.MainActivity.java


    package com.example.diafragment;
    
    import android.os.Bundle;
    import android.support.v4.app.FragmentActivity;
    import android.support.v4.app.FragmentManager;
    import android.support.v4.app.FragmentTransaction;
    import android.view.Menu;
    
    public class MainActivity extends FragmentActivity {
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		
    		setContentView(R.layout.activity_main);
    		
    		FragmentManager fm_1 = getSupportFragmentManager();
    		
            MyDialogFragment mdf = new MyDialogFragment();
            
    		FragmentTransaction ft_1 =  fm_1.beginTransaction();
    		
    		mdf.show(fm_1, "hello");		
    		
    		ft_1.commit();		
    		
    	}
    
    	@Override
    	public boolean onCreateOptionsMenu(Menu menu) {
    		// Inflate the menu; this adds items to the action bar if it is present.
    		return true;
    	}
    
    }

    2.MyDialogFragment.java

    package com.example.diafragment;
    
    import android.app.AlertDialog;
    import android.app.Dialog;
    import android.os.Bundle;
    import android.support.v4.app.DialogFragment;
    
    public class MyDialogFragment extends DialogFragment {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
        }
        
        @Override
        public Dialog onCreateDialog(Bundle saveInstanceState){
        	AlertDialog.Builder builder =new AlertDialog.Builder(getActivity());
        	builder.setTitle("hello");
        	return builder.create();
        }
    }
    

    3.activity_main.xml

    <FrameLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id ="@+id/leftView"
        android:background="#ff4500">
    </FrameLayout>


    源码现在地址:fragment.tar.gz


  • 相关阅读:
    Codeforces 834D The Bakery
    hdu 1394 Minimum Inversion Number
    Codeforces 837E Vasya's Function
    Codeforces 837D Round Subset
    Codeforces 825E Minimal Labels
    Codeforces 437D The Child and Zoo
    Codeforces 822D My pretty girl Noora
    Codeforces 799D Field expansion
    Codeforces 438D The Child and Sequence
    Codeforces Round #427 (Div. 2) Problem D Palindromic characteristics (Codeforces 835D)
  • 原文地址:https://www.cnblogs.com/wangmingshuo/p/3323408.html
Copyright © 2011-2022 走看看