0

私は、ExpandableListView を持つ Android 用の Mono でビルドされた Android アプリケーションを持っています。リスト アダプターの BaseExpandableListAdapter クラスを拡張しています。

これは私のアクティビティの OnCreate メソッドです:

protected override void OnCreate(Bundle savedInstanceState) 
{        
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.Main);
lv = (ExpandableListView)FindViewById(Resource.Id.lv);
var expandableAdapter = new MyExpandableListAdapter(this);
lv.SetAdapter(expandableAdapter);
}

リストは適切に読み込まれますが、項目をクリックすると致命的な例外が発生します。デバッグで実行したところ、GetChildView メソッドの実行直後に例外が発生しました。

public override View GetChildView(int groupPosition, int childPosition, bool isLastChild,View convertView, ViewGroup parent) 
{
if (convertView == null)
{
LayoutInflater infaInflater = (LayoutInflater)context.GetSystemService(Context.LayoutInflaterService);
convertView = infaInflater.Inflate(Resource.Layout.childLayout, null);
}

TextView textView = (TextView)convertView.FindViewById(Resource.Id.tvChild);
textView.SetText(GetChild(groupPosition, childPosition).ToString(), TextView.BufferType.Normal);
return textView;
}

これは例外メッセージです:

FATAL EXCEPTION: main
E/AndroidRuntime(12474): java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams 
:at android.widget.ListView.setupChild(ListView.java:1806)
:at android.widget.ListView.makeAndAddView(ListView.java:1775)
:at android.widget.ListView.fillDown(ListView.java:672)
4

0 に答える 0