コードに問題があり、どこにあるのかわかりません。何かを見落としているに違いない。説明します。私は非常にシンプルなインターフェースを持っています:
public interface IMyEntity {
public String GetName();
}
そして、私は私のクラスを持っています。IMyEntity インターフェイスの配列を使用する SpinAdapter を作成したいので、インターフェイスを実装しているすべての pojo で spinadapter を再利用できます。
public class SpinAdapter<IMyEntity> extends ArrayAdapter<IMyEntity> {
private Context context;
private IMyEntity[] values;
public SpinAdapter(Context context, int textViewResourceId, IMyEntity[] objects) {
super(context, textViewResourceId, objects);
this.context = context;
this.values = objects;
}
public int getCount(){
return values.length;
}
public IMyEntity getItem(int position){
return values[position];
}
public long getItemId(int position){
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView label = new TextView(context);
label.setTextColor(Color.BLACK);
label.setText(this.values[position].GetName());
return label;
}
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent) {
TextView label = new TextView(context);
label.setTextColor(Color.BLACK);
label.setText(values[position].GetName());
return label;
}
}
私が抱えている問題はこの行にあります:
label.setText(values[position].GetName());
ここで GetName メソッドにアクセスする必要がありますが、存在しないというエラーが表示されます。インターフェイスの GetName メソッドを使用できません。
ここで何が間違っていますか?私の質問が明確であることを願っています。
ありがとう、
ビョルン