2011-01-09 2 views
1

LinearLayout私はSectionedAdapterをヘッダーに展開したいと思っています。 LinearLayoutは1つのImageViewと1つのTextViewを持っています。 ... SectionedAdapter(インフレータブルレイアウト)

SectionedAdapter adapter = new SectionedAdapter() { 
protected View getHeaderView(String caption, int index, View convertView, ViewGroup parent) { 
TextView result=(TextView)convertView; 

if (convertView == null) { 
result = (TextView) getLayoutInflater().inflate(R.layout.my_main_layout, null).findViewById(R.id.label); 
} 
result.setText(caption); 

return(result); 
} 
}; 

が、私は問題が..です(のTextView)をキャストし、勿論

01-09 21:23:02.336: ERROR/AndroidRuntime(308): FATAL EXCEPTION: main 
01-09 21:23:02.336: ERROR/AndroidRuntime(308): java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.widget.ListView.setupChild(ListView.java:1761) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.widget.ListView.makeAndAddView(ListView.java:1730) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.widget.ListView.fillDown(ListView.java:652) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.widget.ListView.fillFromTop(ListView.java:709) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.widget.ListView.layoutChildren(ListView.java:1580) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.widget.AbsListView.onLayout(AbsListView.java:1147) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.view.View.layout(View.java:7035) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1249) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1125) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1042) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.view.View.layout(View.java:7035) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.widget.FrameLayout.onLayout(FrameLayout.java:333) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.view.View.layout(View.java:7035) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1249) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1125) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1042) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.view.View.layout(View.java:7035) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1249) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1125) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1042) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.view.View.layout(View.java:7035) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.widget.FrameLayout.onLayout(FrameLayout.java:333) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.view.View.layout(View.java:7035) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.widget.FrameLayout.onLayout(FrameLayout.java:333) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.view.View.layout(View.java:7035) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.view.ViewRoot.performTraversals(ViewRoot.java:1045) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1727) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.os.Handler.dispatchMessage(Handler.java:99) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.os.Looper.loop(Looper.java:123) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at android.app.ActivityThread.main(ActivityThread.java:4627) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at java.lang.reflect.Method.invokeNative(Native Method) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at java.lang.reflect.Method.invoke(Method.java:521) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
01-09 21:23:02.336: ERROR/AndroidRuntime(308):  at dalvik.system.NativeStart.main(Native Method) 

を取得し、私はこれを試してみましたが、それは動作していないのですか?関数が正しいクラスからではないオブジェクトを返す場合、このエラーが表示されます

(SomeClass) SomeFunctionThatReturnsAnObject(); 

答えて

1

エラーは、キャストがこのようなもので何かをキャストしようとしていることを意味します。私はどのラインがエラーを返したのか、あなたのコードのlinenumbersは何ですか、あなたは "findViewById"コールを持っているか分かりません。それはビューを返します。ビューがTextViewの場合は、(TextView)にキャストできますが、そうでない場合はできません。

+1

私は上記(キャスティング)が私のビュー(ラベル - R.id.label)はR.layout.my_main_layoutの内側にあり、テキストビューであると私はまだ間違いがあると思いますか?エラーがその行にある "... .findViewById(.." – svenkapudija

0

これは動作するはずです:(TextView)((LinearLayout)getLayoutInflater()。inflate(R.layout.my_main_layout、null))findViewById(R.id.label);

+0

まだエラー.. *私はログを更新しました... – svenkapudija