我的代码有问题,找不到在哪里。我一定是忽略了什么。我会解释的。我有一个非常简单的界面:
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 方法。
我在这里做错了什么?我希望我的问题很清楚。
谢谢,
比约恩