Android Can';不要在onResponse中使用适配器

Android Can';不要在onResponse中使用适配器,android,Android,我试图在onResponse请求中使用适配器,但在将上下文传递给适配器时遇到了一些问题 这就是错误: CodicAdapter中的CodicAdapter()无法应用于:应为 参数:实际参数:context:android.content.context 此(匿名..代码>>)项: java..Codici>R.layout.activity\u列表视图(int) 响应(java..Codici>) 这是我的要求: Override public void onResponse(

我试图在onResponse请求中使用适配器,但在将上下文传递给适配器时遇到了一些问题

这就是错误:

CodicAdapter中的CodicAdapter()无法应用于:应为 参数:实际参数:context:android.content.context 此(匿名..代码>>)项: java..Codici>R.layout.activity\u列表视图(int) 响应(java..Codici>)

这是我的要求:

Override
        public void onResponse(List<Codici> response) {


            //ArrayAdapter adapter = new ArrayAdapter<String>(this,
             //       R.layout.activity_listview, mobileArray);
            ListView listView = (ListView) findViewById(R.id.codici_list);


            CodiciAdapter codiciAdapter = new CodiciAdapter(this, R.layout.activity_listview, response); //what should I use instead of this??

            listView.setAdapter(codiciAdapter);

        }
覆盖
公共响应(列表响应){
//ArrayAdapter=新的ArrayAdapter(此,
//R.layout.activity_列表视图,mobileArray);
ListView ListView=(ListView)findViewById(R.id.codici_列表);
CodiciAdapter CodiciAdapter=new CodiciAdapter(this,R.layout.activity_listview,response);//我应该用什么来代替它??
setAdapter(codiciAdapter);
}
这是我的适配器:

public class CodiciAdapter extends BaseAdapter {

private Context context;
private final List<Codici> items;

public CodiciAdapter(Context context, List<Codici> items) {
    this.context = context;
    this.items = items;
}

@Override
public int getCount() {
    return this.items.size();
}

@Override
public Codici getItem(int position) {
    return this.items.get(position);
}

@Override
public long getItemId(int position) {
    return this.items.get(position).hashCode();
}

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

    final Codici item = getItem(position);

    LayoutInflater inflater = (LayoutInflater) this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    if(convertView == null) {
        // If convertView is null we have to inflate a new layout

        convertView = inflater.inflate(R.layout.activity_listview, null);

        final CodiciViewHolder viewHolder = new CodiciViewHolder();
        viewHolder.name = (TextView) convertView.findViewById(R.id.name);

        // We set the view holder as tag of the convertView so we can access the view holder later on.
        convertView.setTag(viewHolder);
    }

    // Retrieve the view holder from the convertView
    final CodiciViewHolder viewHolder = (CodiciViewHolder) convertView.getTag();

    // Bind the values to the views
    viewHolder.name.setText(item.getName());

    return convertView;
}
公共类CodiciAdapter扩展BaseAdapter{
私人语境;
私人最终清单项目;
公共代码适配器(上下文、列表项){
this.context=上下文;
这个项目=项目;
}
@凌驾
public int getCount(){
返回此.items.size();
}
@凌驾
公共Codici getItem(内部位置){
返回此.items.get(位置);
}
@凌驾
公共长getItemId(int位置){
返回此.items.get(position.hashCode();
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
最终编码项=获取项(位置);
LayoutFlater充气器=(LayoutFlater)this.context.getSystemService(context.LAYOUT\u充气器\u服务);
if(convertView==null){
//如果convertView为空,则必须对新布局进行充气
convertView=充气机。充气(R.layout.activity\u listview,null);
最终CodicViewHolder viewHolder=新的CodicViewHolder();
viewHolder.name=(TextView)convertView.findViewById(R.id.name);
//我们将视图保持架设置为convertView的标记,以便以后可以访问视图保持架。
convertView.setTag(viewHolder);
}
//从convertView中检索视图保持架
final CodiciViewHolder viewHolder=(CodiciViewHolder)convertView.getTag();
//将值绑定到视图
viewHolder.name.setText(item.getName());
返回视图;
}

}

只需从构造函数中删除布局文件即可

CodiciAdapter codiciAdapter = new CodiciAdapter(this,response);

CodiciAdapter的第一个参数是
上下文
参见CodiciAdapter(上下文,列表项)

因此,当您在内部类中使用
this
时,this将指向当前类,而不是外部类

解决方案是,如果该类是活动。然后使用下面的代码并删除额外的参数
R.layout.activity\u listview

Override
public void onResponse(List<Codici> response) {
    ListView listView = (ListView) findViewById(R.id.codici_list);
    CodiciAdapter codiciAdapter = new CodiciAdapter(YourActivityName.this, response); 
    listView.setAdapter(codiciAdapter);
}
覆盖
公共响应(列表响应){
ListView ListView=(ListView)findViewById(R.id.codici_列表);
CodiciAdapter CodiciAdapter=新的CodiciAdapter(YourActivityName.this,response);
setAdapter(codiciAdapter);
}

或者在其他情况下,您需要提供
上下文

基本上是向构造函数传递了错误的参数。谢谢您的回答。在我改变这一点之后,我又犯了一个新的错误。