单个fragment的activity

来源:互联网 发布:智慧城市 知行论道 编辑:程序博客网 时间:2024/05/22 05:23
mport android.app.Activity;import android.content.Context;/** * 添加activity * @author ad * */public class AppUtils {    private static Activity activity;    private static Context sContext;    /**     * 获得当前的activity     * @return     */    public static Activity getActivity(){        return activity;    }    /**     * 添加activity     * @param act     */    public static void setActivity(Activity act){        activity=act;    }    /**     * 获得当前的Context     * @return     */    public static Context getContext(){        return sContext;    }    /**     * 添加Context     * @param act     */    public static void setContext(Context context){        sContext = context;    }}
SingleFragmentActivity
import android.app.Activity;import android.app.Fragment;import android.app.FragmentManager;import android.os.Bundle;import com.example.maoyh.tctest.R;import com.example.maoyh.tctest.until.AppUtils;/** * 含有单个Fragement的Activity * * @author Weiping Liu * @version 1.0.0 */public abstract class SingleFragmentActivity extends Activity {    private final static String TAG = SingleFragmentActivity.class.getSimpleName();    /**     * TODO 注释     * @return     */    protected abstract Fragment createFragment();    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_singlefragent);        AppUtils.setActivity(this);// 保存当前的activity        AppUtils.setContext(getApplicationContext()); // 保存context        FragmentManager fm = getFragmentManager();        Fragment fragment = fm.findFragmentById(R.id.fragment_container); // 主要所有Fragment的id都必须是这个        if (fragment == null) {            fragment = createFragment();            fm.beginTransaction().add(R.id.fragment_container, fragment).commit();        }    }    protected void onResume(){        super.onResume();        AppUtils.setActivity(this);        AppUtils.setContext(getApplicationContext()); // 保存context    }//    public void finish(){//        Util.homeActivityList.remove(this);//        Util.activityLoginList.remove(this);////Util.activityList.remove(this);//        Util.activityRecommonedList.remove(this);//        Util.actList.remove(this);//        super.finish();//    }}

fragment:

import android.app.Activity;import android.app.Fragment;import android.os.Bundle;import android.support.annotation.Nullable;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import com.example.maoyh.tctest.R;import com.example.maoyh.tctest.until.AppUtils;/** * Created by MAOYH on 2016/3/9. */public class SonghuoFragment extends Fragment {    /**     * 需要传递参数时有利于解耦     */    public static SonghuoFragment newInstance() {        Bundle args = new Bundle();        SonghuoFragment fragment = new SonghuoFragment();        fragment.setArguments(args);        return fragment;    }    private Activity getMyActivity() {        Activity act = getActivity();        if (act == null) {            act = AppUtils.getActivity();        }        return act;    }    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {        View v = inflater.inflate(R.layout.fragment_songhuo,null);        return v;    }}

activity:

import android.app.Fragment;import com.example.maoyh.tctest.fragment.SonghuoFragment;/** * Created by MAOYH on 2016/3/9. */public class WuliuActivity extends SingleFragmentActivity {    @Override    protected Fragment createFragment() {        return SonghuoFragment.newInstance();    }}




0 0