2017-12-23 15 views
0

フラグメントから抽象クラスの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にアクセスする必要があります。これどうやってするの?

+1

「フラグメントは抽象クラスを拡張できないため、どこでこれを学習しましたか? –

+0

あなたのフラグメントで使用しているクラス(BaseChatViewModelから継承)のオブジェクトですか? –

+0

私の答えはあなたの問題を解決しましたか?それが解決しない場合でも、起こったことに答える人々に戻ってください –

答えて

0

この質問は「抽象クラス」とは関係ありません。むしろ、クラスのオブジェクトを作成し、それらを正しいスコープで利用できるようにすることだけです。まず、タイプBaseChatViewModelのオブジェクトを取得する必要があります。次に、そのオブジェクトの任意のパブリックメソッドを呼び出すことができます。

0

フラグメントは、抽象クラスを拡張することはできませんので

はちょうど平野間違っです。

BaseChatViewModelを展開するフラグメントがandroid.support.v4.app.Fragmentではなくandroid.app.Fragmentであるため、この問題が発生する可能性があります。

関連する問題