Java 如何将参数传递到超类?

Java 如何将参数传递到超类?,java,android,Java,Android,我正在尝试自定义ListView示例。代码如下: //适配器 public class CustomList extends ArrayAdapter<String> { private final Activity context; private final String[] web; private final Integer[] imageId; public CustomList ( Activity context, String[]

我正在尝试自定义ListView示例。代码如下:

//适配器

public class CustomList extends ArrayAdapter<String>
{

    private final Activity context;
    private final String[] web; 
    private final Integer[] imageId;

    public CustomList ( Activity context, String[] web, Integer[] imageId )
    {
        super ( context, R.layout.list_single, web );
        this.context = context; 
        this.web = web; 
        this.imageId = imageId;
    }

    @Override
    public View getView ( int position, View view, ViewGroup parent )
    {
        LayoutInflater inflater = context.getLayoutInflater();
        View rowView = inflater.inflate( R.layout.list_single, null, true );

        TextView txtTitle = ( TextView ) rowView.findViewById( R.id.txt ); 
        ImageView imageView = ( ImageView ) rowView.findViewById( R.id.img );
        txtTitle.setText( web[position] );
        imageView.setImageResource(imageId[position] );
        return rowView;
    }
}
考虑活动代码中的以下行:

CustomList adapter=新的CustomList(MainActivity.this、web、imageId)

现在我不想将这些数组参数传递到适配器代码中,那么我需要在适配器代码中做什么更改呢

我在Adapter中尝试我自己,如下所示:

    String[] web = { "Google Plus","Twitter","Windows","Bing","iTunes","WordPress","Drupal" };
    public CustomList ( Activity context )
    {
        super ( context, R.layout.list_single, web ); // error at this line
        this.context = context; 
    }
但它给了我编译时错误
在显式调用构造函数时不能引用实例字段web

将此行更改为

private static final String[] web = new String[] { "Google Plus","Twitter","Windows","Bing","iTunes","WordPress","Drupal" };

而且它应该会起作用。

旁注:您不必自己持有对上下文的引用。超类已经这样做了。使用getContext()。@isnot2bad什么?我不明白。您不需要CustomList中的私有最终活动上下文,因为超类已经拥有对上下文的引用。
private static final String[] web = new String[] { "Google Plus","Twitter","Windows","Bing","iTunes","WordPress","Drupal" };