かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

BaseAdapterの継承したクラスの作り方がよくわからない

public class MyAdapter : BaseAdapter<string>
{
    private List<string> l = new List<string>();

    private Context context;

    public MyAdapter(Context context)
    {
        this.context = context;
    }

    public override string this[int position]
    {
        get { return this.l[position]; }
    }

    public override int Count
    {
        get { return l.Count; }
    }

    public override long GetItemId(int position)
    {
        return position;
    }

    public override View GetView(int position, View convertView, ViewGroup parent)
    {
        if (convertView == null)
        {
            convertView = View.Inflate(this.context, Resource.Layout.MyLayout, parent);
        }
        convertView.FindViewById<TextView>(Resource.Id.textViewContent).Text = this[position];
        return convertView;
    }

    public void Add(string i)
    {
        this.l.Add(i);
        this.NotifyDataSetChanged();
    }
}

これでInflateのところで例外が出る。因みにMyLayout.axmlはこんな感じ。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView
        android:text="項目"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textView1" />
    <TextView
        android:text="Small Text"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textViewContent" />
</LinearLayout>

ん~。謎。