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


  • 相关阅读:
    linux如何查看端口或服务被占用情况
    linux网络查看及配置相关命令
    linux查看程序运行相关命令
    shell脚本编写一个用真实用户去访问的vsftpd服务器
    shell脚本监控CPU和内存利用率
    小白的个人技能树(基于自动化软件测试开发实习和软件开发实习)
    MySQL 8.0.12 基于Windows 安装教程(超级详细)
    C语言 0x7fffffff是多少(也就是INT_MAX,首位是 0,其余都是1,f代表1111)
    数通知识点
    数据结构之算法基础
  • 原文地址:https://www.cnblogs.com/wangmingshuo/p/3323408.html
Copyright © 2011-2022 走看看