从片段访问Abstract类中的布尔值

问题描述 投票:0回答:2

我从一个片段访问抽象类的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。我怎样才能做到这一点?

android android-fragments abstract-class
2个回答
0
投票

这个问题与“抽象类”无关。相反,它只是创建一个类的对象并使它们在正确的范围内可用。首先需要获得BaseChatViewModel类型的对象。然后,您可以调用该对象上的任何公共方法。


0
投票

由于片段无法扩展抽象类

是完全错的。

很可能,你正面临这个问题,因为你要扩展BaseChatViewModel的片段是导入android.app.Fragment而不是android.support.v4.app.Fragment

© www.soinside.com 2019 - 2024. All rights reserved.