ActivityUtils.startLogin(this, new ActivityUtils.ActivityResultListner() {
@Override
public void loginsuccess() {
((Button)v).setText("您已登陆");
}
@Override
public void logincancel() {
Toast.makeText(MainActivity.this,"您已取消登陆",0).show();
}
});
//用abstract class我们在不需要cancel回掉时可以不重写
public abstract static class ActivityResultListner {
public void loginsuccess() {
}
public void logincancel() {
}
}
public static class MyFragment extends Fragment {
public static final int LOGIN = 123;
ActivityResultListner listener;
public void setListener(ActivityResultListner listener) {
this.listener = listener;
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == LOGIN) {
if (resultCode == RESULT_OK) {
if (listener != null)
listener.loginsuccess();
} else {
if (listener != null)
listener.logincancel();
}
}
}
public static void startLogin(FragmentActivity context, ActivityResultListner listener) {
//先看activity是否添加过该fragment, 添加根据Tag找出 ,没有就添加
FragmentManager manager = context.getSupportFragmentManager();
MyFragment myFragment = null;
Fragment loginf = manager.findFragmentByTag(MyFragment.LOGIN + "");
if (loginf == null) {
myFragment = new MyFragment();
manager.beginTransaction().add(myFragment, MyFragment.LOGIN + "").commit();
//这句是让commit立即生效,不然运行会报错,fragment还没有被attach
manager.executePendingTransactions();
} else {
myFragment = (MyFragment) loginf;
}
//设置监听
myFragment.setListener(listener);
Intent intent = new Intent(context, loginActivity.class);
myFragment.startActivityForResult(intent, MyFragment.LOGIN);
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有