public abstract class XPageFragment
extends Fragment
| Modifier and Type | Class and Description |
|---|---|
static interface |
XPageFragment.OnFragmentFinishListener
页面跳转接口
|
static interface |
XPageFragment.PopCallback |
| Modifier and Type | Field and Description |
|---|---|
protected android.app.Activity |
mActivity
所在activity
|
| Constructor and Description |
|---|
XPageFragment() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
findPage(java.lang.String pageName)
查找fragment是否存在,通过Switcher查找
|
protected <T extends android.view.View> |
findViewById(int id) |
protected abstract int |
getLayoutId()
布局的资源id
|
java.lang.String |
getPageName()
获得页面名
|
protected java.lang.String |
getPageTitle()
获取页面标题
|
int |
getRequestCode()
得到requestCode
|
android.view.View |
getRootView()
获取根布局
|
CoreSwitcher |
getSwitcher()
得到页面切换Switcher
|
Fragment |
gotoPage(java.lang.String pageName,
android.os.Bundle bundle,
CoreAnim coreAnim) |
Fragment |
gotoPage(java.lang.String pageName,
android.os.Bundle bundle,
CoreAnim coreAnim,
boolean newActivity)
新建或跳转到一个页面(Fragment)。找不到pageName Fragment时,就新建Fragment。找到pageName
Fragment时,则弹出该Fragment到栈顶上的所有activity和fragment
|
protected void |
initArgs()
初始化参数
|
protected abstract void |
initListeners()
初始化监听
|
protected void |
initPage()
初始化页面, 可以重写该方法,以增强灵活性
|
protected TitleBar |
initTitleBar()
初始化标题,可进行重写
|
protected abstract void |
initViews()
初始化控件
|
boolean |
isFragmentTop(java.lang.String fragmentTag)
对应fragment是否位于栈顶,通过Switcher查找
|
void |
onAttach(android.app.Activity activity) |
void |
onCreate(android.os.Bundle savedInstanceState) |
android.view.View |
onCreateView(android.view.LayoutInflater inflater,
android.view.ViewGroup container,
android.os.Bundle savedInstanceState) |
void |
onDestroy() |
void |
onDestroyView() |
void |
onDetach() |
void |
onFragmentDataReset(android.os.Bundle bundle)
数据设置,回调
|
void |
onFragmentResult(int requestCode,
int resultCode,
android.content.Intent data)
重新该方法用于获得返回的数据
|
boolean |
onKeyDown(int keyCode,
android.view.KeyEvent event)
将Activity中onKeyDown在Fragment中实现,
|
<T extends XPageFragment> |
openPage(java.lang.Class<T> clazz)
打开fragment[使用注解反射]
|
<T extends XPageFragment> |
openPage(java.lang.Class<T> clazz,
boolean addToBackStack)
打开fragment[使用注解反射]
|
<T extends XPageFragment> |
openPage(java.lang.Class<T> clazz,
android.os.Bundle bundle)
打开fragment[使用注解反射]
|
<T extends XPageFragment> |
openPage(java.lang.Class<T> clazz,
android.os.Bundle bundle,
CoreAnim coreAnim)
打开fragment[使用注解反射]
|
Fragment |
openPage(PageOption pageOption)
打开fragment并请求获得返回值【PageOption调用的核心方法】
|
Fragment |
openPage(java.lang.String pageName)
打开fragment
|
Fragment |
openPage(java.lang.String pageName,
android.os.Bundle bundle)
打开fragment
|
Fragment |
openPage(java.lang.String pageName,
android.os.Bundle bundle,
CoreAnim coreAnim)
在当前activity中打开一个fragment,并添加到返回栈中
|
Fragment |
openPage(java.lang.String pageName,
android.os.Bundle bundle,
CoreAnim coreAnim,
boolean addToBackStack)
在当前activity中打开一个fragment,并设置是否添加到返回栈
|
Fragment |
openPage(java.lang.String pageName,
android.os.Bundle bundle,
CoreAnim coreAnim,
boolean addToBackStack,
boolean newActivity)
打开一个fragment并设置是否新开activity,设置是否添加返回栈
|
Fragment |
openPage(java.lang.String pageName,
android.os.Bundle bundle,
int[] anim)
在当前activity中打开一个fragment,并添加到返回栈中
|
Fragment |
openPage(java.lang.String pageName,
android.os.Bundle bundle,
int[] anim,
boolean addToBackStack)
在当前activity中打开一个fragment,并设置是否添加到返回栈
|
Fragment |
openPage(java.lang.String pageName,
android.os.Bundle bundle,
int[] anim,
boolean addToBackStack,
boolean newActivity)
打开一个fragment并设置是否新开activity,设置是否添加返回栈
|
Fragment |
openPageForResult(boolean newActivity,
java.lang.String pageName,
android.os.Bundle bundle,
CoreAnim coreAnim,
int requestCode)
打开fragment并请求获得返回值,并设置是否在新activity中打开
|
Fragment |
openPageForResult(boolean newActivity,
java.lang.String pageName,
android.os.Bundle bundle,
int[] coreAnim,
int requestCode)
打开fragment并请求获得返回值,并设置是否在新activity中打开
|
<T extends XPageFragment> |
openPageForResult(java.lang.Class<T> clazz,
android.os.Bundle bundle,
int requestCode)
打开fragment并请求获得返回值
|
Fragment |
openPageForResult(java.lang.String pageName,
android.os.Bundle bundle,
CoreAnim coreAnim,
int requestCode)
打开fragment并请求获得返回值
|
void |
popToBack()
弹出栈顶的Fragment。如果Activity中只有一个Fragment时,Activity也退出。
|
void |
popToBack(java.lang.String pageName,
android.os.Bundle bundle)
如果在fragment栈中找到,则跳转到该fragment中去,否则弹出栈顶
|
void |
popToBackForResult(XPageFragment.PopCallback callback)
用于openPageForResult,获得返回内容后需要再次调openPage的场景,只适合不新开Activity的情况,如果新开activity请像Activity返回结果那样操作
|
void |
setFragmentFinishListener(XPageFragment.OnFragmentFinishListener listener)
设置该接口用于返回结果
|
void |
setFragmentResult(int resultCode,
android.content.Intent intent)
设置openPageForResult打开的页面的返回结果
|
void |
setPageName(java.lang.String pageName)
设置页面名
|
void |
setRequestCode(int code)
设置requestCode
|
XPageFragment |
setSwitcher(CoreSwitcher pageCoreSwitcher)
设置Switcher
|
void |
startActivity(android.content.Intent intent) |
void |
startActivityForResult(android.content.Intent intent,
int requestCode) |
public void setFragmentFinishListener(XPageFragment.OnFragmentFinishListener listener)
listener - OnFragmentFinishListener对象public void setFragmentResult(int resultCode,
android.content.Intent intent)
resultCode - 返回结果码intent - 返回的intent对象public int getRequestCode()
public void setRequestCode(int code)
code - 请求码public boolean onKeyDown(int keyCode,
android.view.KeyEvent event)
keyCode - keyCode码event - KeyEvent对象public void onFragmentDataReset(android.os.Bundle bundle)
bundle - 刷新数据的Bundle对象public void popToBackForResult(XPageFragment.PopCallback callback)
callback - 返回码public void popToBack()
public final void popToBack(java.lang.String pageName,
android.os.Bundle bundle)
pageName - 页面名bundle - 参数public CoreSwitcher getSwitcher()
public XPageFragment setSwitcher(CoreSwitcher pageCoreSwitcher)
pageCoreSwitcher - CoreSwitcher对象public boolean findPage(java.lang.String pageName)
pageName - 页面名public boolean isFragmentTop(java.lang.String fragmentTag)
fragmentTag - fragment的tagpublic void onFragmentResult(int requestCode,
int resultCode,
android.content.Intent data)
requestCode - 请求码resultCode - 返回结果码data - 返回数据public <T extends XPageFragment> T openPage(java.lang.Class<T> clazz)
public <T extends XPageFragment> T openPage(java.lang.Class<T> clazz, boolean addToBackStack)
clazz - 页面类addToBackStack - 是否添加到用户操作栈中public <T extends XPageFragment> T openPage(java.lang.Class<T> clazz, android.os.Bundle bundle)
clazz - 页面类bundle - 页面跳转时传递的参数public <T extends XPageFragment> T openPage(java.lang.Class<T> clazz, android.os.Bundle bundle, CoreAnim coreAnim)
clazz - 页面类bundle - 页面跳转时传递的参数public Fragment openPage(java.lang.String pageName)
pageName - 页面名称public Fragment openPage(java.lang.String pageName,
android.os.Bundle bundle)
pageName - 页面名称bundle - 页面跳转时传递的参数public final Fragment openPage(java.lang.String pageName,
android.os.Bundle bundle,
CoreAnim coreAnim)
pageName - Fragment 名,在page.json中配置。bundle - 页面跳转时传递的参数coreAnim - 指定的动画理性 none/slide(左右平移)/present(由下向上)/fade(fade 动画)public final Fragment openPage(java.lang.String pageName,
android.os.Bundle bundle,
int[] anim,
boolean addToBackStack)
pageName - Fragemnt 名,在page.json中配置。bundle - 页面跳转时传递的参数anim - 指定的动画理性 none/slide(左右平移)/present(由下向上)/fade(fade 动画)addToBackStack - 是否添加到用户操作栈中public final Fragment openPage(java.lang.String pageName,
android.os.Bundle bundle,
int[] anim,
boolean addToBackStack,
boolean newActivity)
pageName - Fragment 名,在page.json中配置。bundle - 页面跳转时传递的参数anim - 指定的动画理性 none/slide(左右平移)/present(由下向上)/fade(fade 动画)addToBackStack - 是否添加到用户操作栈中newActivity - 该页面是否新建一个Activitypublic final Fragment openPage(java.lang.String pageName,
android.os.Bundle bundle,
int[] anim)
pageName - Fragemnt 名,在page.json中配置。bundle - 页面跳转时传递的参数anim - 指定的动画理性 none/slide(左右平移)/present(由下向上)/fade(fade 动画)public final Fragment openPage(java.lang.String pageName,
android.os.Bundle bundle,
CoreAnim coreAnim,
boolean addToBackStack)
pageName - Fragemnt 名,在page.json中配置。bundle - 页面跳转时传递的参数coreAnim - 指定的动画理性 none/slide(左右平移)/present(由下向上)/fade(fade 动画)addToBackStack - 是否添加到用户操作栈中public final Fragment openPage(java.lang.String pageName,
android.os.Bundle bundle,
CoreAnim coreAnim,
boolean addToBackStack,
boolean newActivity)
pageName - Fragemnt 名,在page.json中配置。bundle - 页面跳转时传递的参数coreAnim - 指定的动画理性 none/slide(左右平移)/present(由下向上)/fade(fade 动画)addToBackStack - 是否添加到用户操作栈中newActivity - 该页面是否新建一个Activitypublic Fragment gotoPage(java.lang.String pageName,
android.os.Bundle bundle,
CoreAnim coreAnim)
pageName - 页面名bundle - 参数coreAnim - 动画public Fragment gotoPage(java.lang.String pageName,
android.os.Bundle bundle,
CoreAnim coreAnim,
boolean newActivity)
pageName - Fragment 名,在在page.json中配置。bundle - 页面跳转时传递的参数coreAnim - 指定的动画理性 none/slide(左右平移)/present(由下向上)/fade(fade 动画)newActivity - 该页面是否新建一个Activitypublic final <T extends XPageFragment> T openPageForResult(java.lang.Class<T> clazz, android.os.Bundle bundle, int requestCode)
clazz - 页面类bundle - 参数requestCode - 请求码public final Fragment openPageForResult(java.lang.String pageName,
android.os.Bundle bundle,
CoreAnim coreAnim,
int requestCode)
pageName - 页面名bundle - 参数coreAnim - 动画requestCode - 请求码public final Fragment openPageForResult(boolean newActivity,
java.lang.String pageName,
android.os.Bundle bundle,
CoreAnim coreAnim,
int requestCode)
newActivity - 是否新开activitypageName - 页面名bundle - 参数coreAnim - 动画requestCode - 请求码public final Fragment openPageForResult(boolean newActivity,
java.lang.String pageName,
android.os.Bundle bundle,
int[] coreAnim,
int requestCode)
newActivity - 是否新开activitypageName - 页面名bundle - 参数coreAnim - 动画requestCode - 请求码public final Fragment openPage(PageOption pageOption)
pageOption - 页面选项public void onAttach(android.app.Activity activity)
public void onCreate(android.os.Bundle savedInstanceState)
protected abstract int getLayoutId()
protected java.lang.String getPageTitle()
protected void initArgs()
protected abstract void initViews()
protected abstract void initListeners()
public android.view.View onCreateView(android.view.LayoutInflater inflater,
android.view.ViewGroup container,
android.os.Bundle savedInstanceState)
protected void initPage()
protected TitleBar initTitleBar()
public void onDestroyView()
public void onDestroy()
public android.view.View getRootView()
public java.lang.String getPageName()
public void setPageName(java.lang.String pageName)
pageName - 页面名public void onDetach()
protected <T extends android.view.View> T findViewById(int id)
public void startActivity(android.content.Intent intent)
public void startActivityForResult(android.content.Intent intent,
int requestCode)