登陆LoginContext
1 使用
LoginContext.getLoginContext().setUserState(new LoginedState());
LoginContext.getLoginContext().forward(context);//调此转发函数
2 具体代码
package com.ycjr.navpad_new.ui.activity;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
public class LoginContext {
UserState userState = new LogoutState();
static LoginContext loginContext = new LoginContext();
private LoginContext(){}
public static LoginContext getLoginContext(){
return loginContext;
}
public void setUserState(UserState userState){
this.userState = userState;
}
//转发
public void forward(Context context){
userState.forwaord(context);
}
//评论
public void command(Context context){
userState.command(context);
}
public interface UserState{
void forwaord(Context context);//转发
void command(Context context);//评论
}
//1 登陆状态
public class LoginedState implements UserState{
@Override
public void forwaord(Context context) {
Toast.makeText(context,"转发",Toast.LENGTH_LONG).show();
}
@Override
public void command(Context context) {
Toast.makeText(context,"评论",Toast.LENGTH_LONG).show();
}
}
//2 未登陆状态
public class LogoutState implements UserState{
@Override
public void forwaord(Context context) {
gotoLoginActivity(context);
}
@Override
public void command(Context context) {
gotoLoginActivity(context);
}
private void gotoLoginActivity(Context context){
Intent intent = new Intent(context,LoginActivity.class);
context.startActivity(intent);
}
}
}