我从一个片段访问抽象类的boolean
时遇到了麻烦。由于片段无法实现抽象类,我该怎么做呢?有人能帮我吗?以下是我的代码。
public abstract class BaseChatViewModel extends BaseObservable {
protected User mUser;
protected UploadImage uploadImage;
protected String mLoggedUserEmail;
private MessageAdapterViewModelContract messageAdapterViewModelContract;
public BaseChatViewModel(User user, String loggedUserEmail) {
mUser = user;
mLoggedUserEmail = loggedUserEmail;
}
public BaseChatViewModel(UploadImage user, String loggedUserEmail) {
uploadImage = user;
mLoggedUserEmail = loggedUserEmail;
}
public BaseChatViewModel(UploadImage usehhr) {
uploadImage =usehhr;
}
public String getName() {
return !mUser.getEmail().equals(ConstantsFirebase.FIREBASE_LOCATION_CHAT_GLOBAL)
? mUser.getName() : mUser.getName().replace("0", "");
}
public String getEmail() {
return mUser.getEmail();
}
public String getPhotoUrl() {
return mUser.getPhotoUrl();
}
public boolean isOnline() {
return mUser.getEmail().equals(ConstantsFirebase.FIREBASE_LOCATION_CHAT_GLOBAL) || mUser.isOnline();
}
public void onItemClick(View view) {
}
public boolean isSender() {
return mLoggedUserEmail.equals(mUser.getEmail());
}
}
}
我需要从一个片段访问isSender
。我怎样才能做到这一点?
这个问题与“抽象类”无关。相反,它只是创建一个类的对象并使它们在正确的范围内可用。首先需要获得BaseChatViewModel
类型的对象。然后,您可以调用该对象上的任何公共方法。
由于片段无法扩展抽象类
是完全错的。
很可能,你正面临这个问题,因为你要扩展BaseChatViewModel
的片段是导入android.app.Fragment
而不是android.support.v4.app.Fragment
。