2016-10-21 13 views
0

CustomQuestionAdapterというカスタムアダプタを使用して、リストビュー内に質問のリストを表示しています。アダプタがArrayAdapterから拡張されていることがわかっています。私は必要なインターフェイス(GoogleApiClient.ConnectionCallbacks、GoogleApiClient.OnConnectionFailedListener)を実装し、そのメソッドを実装しましたが、オーバーライドされたメソッドonStart()およびonStop()ではメソッドがそのスーパークラスのメソッドをオーバーライドしないというエラーが表示されます。しかし、私はArrayAdapterの代わりにAppCompatActivityから拡張しようとするとエラーが消えます。ここAndroid:カスタムAPI内のGoogle API

public class CustomQuestionAdapter extends ArrayAdapter<Question> implements 
    GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener 

エラー適切にこれを修正するためにどのように

@Override 
protected void onStart() { 
    super.onStart(); 
    mGoogleApiClient.connect(); 
} 

@Override 
protected void onStop() { 
    super.onStop(); 
    if (mGoogleApiClient.isConnected()) { 
     mGoogleApiClient.disconnect(); 
    } 
} 

「そのスーパークラスからメソッドをオーバーライドしない方法」:

これは私のクラスの署名でありますか? arrayAdapterクラスに属していけない ONSTART()とonStop()メソッド:実装GoogleApiClient.ConnectionCallbacksとGoogleApiClient.OnConnectionFailedListenerについては

+0

onStart()およびonStop()から渡すことは、ArrayAdapterクラスのオーバーライドされたメソッドではありません。 –

答えて

1

は、あなたがこれらのメソッド

@Override 
public void onConnected(@Nullable Bundle bundle) { 

    Log.d("isj","connected"); 
} 

@Override 
public void onConnectionSuspended(int i) { 

    Log.d("isj","connection susspended"); 
} 

@Override 
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) { 

    Log.d("isj","connection failed"); 
} 

EDIT上書きする必要があります。 アダプタのコンストラクタにgoogle apiクライアントを接続するか、googleApiClientを接続および切断してアダプタを設定するアクティビティから呼び出す2つのメソッドを作成できます。 アダプタのコンストラクタで必要な値をアクティビティ

+0

私はそれらをオーバーライドしましたが、onStart()メソッドとonStop()メソッドのみでエラーが表示されます –

+0

上記の編集済みの回答を参照してください – Isj

+0

アダプターのコンストラクターで位置値を渡しているのが正しいです。 –