継承とジェネリックスは初めてなので、私の質問がばかげている場合は我慢してください。
私は次のものを持っています:
public abstract class car {
private long id;
private String name;
public car (long id, String name) {
this.id = id;
this.name = name;
}
public final long getID(){
return id;
}
public final String getName(){
return name;
}
}
public class sedan extends car {
public sedan(long id, String name) {
super (id, name);
}
...
}
public class jeep extends car {
public jeep(long id, String name) {
super (id, name);
}
...
}
スピナーのArrayAdapterを次のように拡張しようとしています。
public class DropdownAdapter extends ArrayAdapter<car> {
private Context context;
private List<car> values;
public DropdownAdapter(Context context, int textViewResourceId, List<car> values) {
super(context, textViewResourceId, values);
this.context = context;
this.values = values;
}
...
}
私がそれを使おうとすると問題が起こります:
adapter = new DropdownAdapter (this, android.R.layout.simple_spinner_item, lstSedan);
エラーが発生します:コンストラクターDropdownAdapter(ScreenItemList、int、List <sedan>)が未定義です
adapter = new DropdownAdapter (this, android.R.layout.simple_spinner_item, lstJeep);
エラーが発生します:コンストラクターDropdownAdapter(ScreenItemList、int、List <jeep>)が未定義です
ここでの問題は何ですか?lstSedanまたはlstJeepを車から派生させたときに、パラメーターとして使用できないのはなぜですか?これを解決するにはどうすればよいですか?ありがとう!