android - 显示错误的 ArrayAdapter 无法解决构造函数适配器错误

标签 android list android-layout listview

我的 ArrayAdapter 显示无法解析适配器。请让我知道语法有什么问题。

 @Override
    public void onRequestSuccess(List<Order> Items) {
        Toast.makeText(HomeActivity.this, "Success", Toast.LENGTH_SHORT).show();
         List<Order> list = new ArrayList<Order>();

        ListView listView = (ListView) findViewById(R.id.listview);

        ListAdapter<Order> adapter = new ListAdapter<String>(this, android.R.layout.simple_list_item_1, list);
        listView.setAdapter(adapter);

    }                 

我的订单类看起来像这样。

public class Order {
public String createdOn;
public String id;
public String lastModifiedOn;
public String trackingNumber;
public String tripId;
public OrderEntry orderEntry;
public String tripOrderStatusValue;
public String notificationStatus;
public String remark;
public String createdBy;
public String orderId;
public String deliveryReasonCode;
public Boolean isTripStarted;
public Boolean isTripCompleted;
public Boolean isOutScanned;
public String shipmentType;
public String deliveryTime;

我的 ListAdapter 看起来像这样。

公共(public)类 ListAdapter 扩展 ArrayAdapter {

public ListAdapter(Context context, int textViewResourceId) {
    super(context, textViewResourceId);
    // TODO Auto-generated constructor stub
}

private List<Order> items;

public ListAdapter(Context context, int resource, List<Order> items) {

    super(context, resource, items);

    this.items = items;

}

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    View v = convertView;

    if (v == null) {

        LayoutInflater vi;
        vi = LayoutInflater.from(getContext());
        v = vi.inflate(R.layout.list_row_myschedule, null);

    }

    Order p = items.get(position);

    if (p != null) {

        TextView tt = (TextView) v.findViewById(R.id.textview1);
        TextView tt1 = (TextView) v.findViewById(R.id.textview2);
        TextView tt3 = (TextView) v.findViewById(R.id.textview3);

        if (tt != null) {
            tt.setText(p.orderStatusValue);
        }
        if (tt1 != null) {

            tt1.setText(p.reasonCode);
        }
        if (tt3 != null) {

            tt3.setText(p.trackingNumber);
        }
    }

    return v;
}

最佳答案

泛型必须在声明/初始化中保持一致

改变

ArrayAdapter<Order> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);

ArrayAdapter<Order> adapter = new ArrayAdapter<Order>(this, android.R.layout.simple_list_item_1, list);

还要确保 this 指的是 Activity 上下文

关于android - 显示错误的 ArrayAdapter 无法解决构造函数适配器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20605891/

相关文章:

android - 无法使用带有 sendkeys() 方法的 Appium 将文本发送到 Content-desc 字段

java - 如何在JSP中迭代Mapped对象的列表项列表?

R:基于分类变量 *of 列表 * 创建虚拟变量

python - 在 Pandas 中列出月份和年份

android - 使用约束布局无法将 TextView 放置在指南下方

javascript - Android Webview Uncaught ReferenceError : $ is not defined

Android Opengl ES 2 绘制大纹理速度慢

java - 无法构建发布 apk 版本

android - 如何在显示结果之前设置进度条?

android - 使用支持库时更改弹出菜单背景颜色