3

私のアプリケーションでは、リストビューを使用しており、標準の配列アダプターを拡張することで関連する配列アダプターをカスタマイズしています。ただし、拡張アダプター内では、ビューホルダーを静的内部クラスとして宣言できません。Eclipse は、「静的型は静的型または最上位型でのみ宣言できます」というエラーを出し続けます。コードは次のとおりです。

public class IconicAdapter extends ArrayAdapter<String>
{
    public static class ViewHolder
    {
        public TextView text;
        public ImageView image;
    }

    public IconicAdapter() {
        super(MainActivity.this,R.layout.row,values);
        // TODO Auto-generated constructor stub
    }

    public View getView(int position,View convertView, ViewGroup parent)
    {
        View row = convertView;
        if(row == null)
        {
            LayoutInflater inflater = getLayoutInflater();
            row = inflater.inflate(R.layout.row, parent,false);
        }
        TextView label =(TextView)row.findViewById(R.id.label);
        label.setText(values[position]);
        ImageView icon = (ImageView)row.findViewById(R.id.icon);
        icon.setImageResource(R.drawable.ok);

        return (row);
    }
}

なにか提案を?

4

1 に答える 1

9

が内部クラスの場合、 が静的クラスとして宣言されIconicAdapterていない限り、内部静的クラスを宣言することはできませんIconicAdapter

于 2012-05-12T22:42:20.617 に答える