2016-07-16 4 views
3

私はそうのようなデフォルトのArrayAdapterのコンストラクタよりも優先されますカスタムArrayAdapter構築しようとして継承し、上書きすることができません:ArrayAdapter

private class MyEndpointAdapter extends ArrayAdapter<Endpoint> { 

を私は言ってエラーを取得する:

There is no default constructor available in 'android.widget.ArrayAdapter' 

私はArrayAdapterの宣言をチェックして、インポートするクラスのいくつかが解決できないことを発見しました。

http://i.stack.imgur.com/tauGr.png

これを修正するにはどうすればよいですか?

答えて

0

コンストラクタを明示的に指定しないと、コンパイラはデフォルトのコンストラクタを作成します。これはスーパークラスの引数なしコンストラクタを呼び出します。

ArrayAdapterには引数なしのコンストラクタがないため、この呼び出しは明らかにできないため、エラーです。あなたはコンストラクタを定義する必要が

は明示的には、例えば、スーパークラスからのコンストラクタを呼び出します。

private class MyEndpointAdapter extends ArrayAdapter<Endpoint> { 

    public MyEndpointAdapter(Context context, @LayoutRes int resource, List<Endpoint> objects) { 
     super(context, resource, objects); 
    } 
} 
+0

それは働いていた、感謝を! – crackly