2011-02-25 23 views
1

こんにちは、私は Custom ListView With Headersの一覧を表示

今私の質問は、私がlistview.Iのヘッダとして画像を設定したいされ、下のリンクを使用して1つのアプリを開発していますリストビューのヘッダとしてImageViewのをしています第2のタイプの付加部を使用するアイテム、すなわち、

adapter.addSection("Security", new SimpleAdapter(this, security, R.layout.list_complex, 
      new String[] { ITEM_TITLE, ITEM_CAPTION }, new int[] { R.id.list_complex_title, R.id.list_complex_caption })); 

私は今、私が代わりにTextView.Forのヘッダとして画像を表示したい、私は次の例外

02-28 05:43:12.273: ERROR/ArrayAdapter(1212): You must supply a resource ID for a TextView 
02-28 05:43:12.273: DEBUG/AndroidRuntime(1212): Shutting down VM 
02-28 05:43:12.273: WARN/dalvikvm(1212): threadid=3: thread exiting with uncaught exception (group=0x4001b188) 
02-28 05:43:12.283: ERROR/AndroidRuntime(1212): Uncaught handler: thread main exiting due to uncaught exception 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212): java.lang.IllegalStateException: ArrayAdapter requires the resource ID to be a TextView 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:347) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.widget.ArrayAdapter.getView(ArrayAdapter.java:323) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at chronicle.books.shopping.SeparatedListAdapter.getView(SeparatedListAdapter.java:97) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.widget.AbsListView.obtainView(AbsListView.java:1274) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.widget.ListView.makeAndAddView(ListView.java:1668) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.widget.ListView.fillDown(ListView.java:637) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.widget.ListView.fillFromTop(ListView.java:694) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.widget.ListView.layoutChildren(ListView.java:1521) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.widget.AbsListView.onLayout(AbsListView.java:1113) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.view.View.layout(View.java:6830) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1119) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:998) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.widget.LinearLayout.onLayout(LinearLayout.java:918) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.view.View.layout(View.java:6830) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.widget.FrameLayout.onLayout(FrameLayout.java:333) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.widget.ScrollView.onLayout(ScrollView.java:1108) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.view.View.layout(View.java:6830) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1119) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:998) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.widget.LinearLayout.onLayout(LinearLayout.java:918) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.view.View.layout(View.java:6830) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.widget.RelativeLayout.onLayout(RelativeLayout.java:900) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.view.View.layout(View.java:6830) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.widget.FrameLayout.onLayout(FrameLayout.java:333) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.view.View.layout(View.java:6830) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.widget.FrameLayout.onLayout(FrameLayout.java:333) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.view.View.layout(View.java:6830) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.view.ViewRoot.performTraversals(ViewRoot.java:996) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1633) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.os.Handler.dispatchMessage(Handler.java:99) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.os.Looper.loop(Looper.java:123) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.app.ActivityThread.main(ActivityThread.java:4363) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at java.lang.reflect.Method.invokeNative(Native Method) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at java.lang.reflect.Method.invoke(Method.java:521) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at dalvik.system.NativeStart.main(Native Method) 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212): Caused by: java.lang.ClassCastException: android.widget.ImageView 
02-28 05:43:12.322: ERROR/AndroidRuntime(1212):  at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:340) 

を得たその時list_headre.xml.atに代わりのTextViewのイメージ図を使用していますこれは私にいくつかのコードの提案をしてください。事前にお礼

答えて

2

ArrayAdapterTextViewをサポートしています。 As per the docsImageViewsなどの配列表示にTextViews以外のものを使用するか、toString()以外のデータをいくつか使用してビューを満たすには、getView(int、View、ViewGroup)をオーバーライドしてビューのタイプを返します欲しいです。

ヘッダーにただ1つのImageViewが必要な場合は、以下の元の回答を使用します。

オリジナルの答えListView方法addHeaderViewを使用し、ちょうどImageViewに渡します。

+0

私はheadrefile.xmlのテキストビューを取っています。私はその時点でイメージを再現しました。アダプターに関しては力がありませんでした。一度URLを確認してください。 – Pinki

+0

私はあなたが何をしているのか明確ではありません。 'TextView'を' ImageView'で置き換えて例外が発生した場合は、例外を投稿してください。また、このheadrefile.xmlファイルが何であるかわからないので、いくつかのコードが役に立ちます。 –

+0

私はすでにそのURLから同じコードを使用すると言われています。http://jsharkey.org/blog/2008/08/18/separating-lists-with-headers-in-android-09/ – Pinki

関連する問題