0

私は GridView を持っており、セルにカスタム データを入力するためのカスタム アダプターを持っています。一部のセルにはデータがあり、他のセルにはリストがあります。リストは動的に作成され、カスタム リスト アダプターを使用して入力されます。

リスト項目をクリックした後、GridView 内のすべてを更新または更新したいので、言い換えると、GridView のアダプター内で更新/更新を行う必要があります。

どうすればいいですか?

編集#1

GridView 内のリストのいずれかで項目をクリックした後、アダプター内でこのコードを使用します。

notifyDataSetChanged();

リスト アイテムをクリックすると、アプリがクラッシュし、エラー ログに次のように記録されます。

09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime  FATAL EXCEPTION: main
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime  java.lang.ClassCastException: android.widget.ListView
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at hnlapp.hairdresser.Adapter_Labels_GridView_Calendar_dayview.getView(Adapter_Labels_GridView_Calendar_dayview.java:428)
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at android.widget.AbsListView.obtainView(AbsListView.java:1409)
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at android.widget.GridView.makeAndAddView(GridView.java:1222)
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at android.widget.GridView.makeRow(GridView.java:268)
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at android.widget.GridView.fillSpecific(GridView.java:466)
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at android.widget.GridView.layoutChildren(GridView.java:1125)
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at android.widget.AbsListView.onLayout(AbsListView.java:1260)
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at android.view.View.layout(View.java:7175)
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254)
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1130)
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at android.widget.LinearLayout.onLayout(LinearLayout.java:1047)
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at android.widget.RelativeLayout.onLayout(RelativeLayout.java:912)
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1243)
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at android.widget.LinearLayout.onLayout(LinearLayout.java:1049)
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at android.view.ViewRoot.performTraversals(ViewRoot.java:1140)
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at android.view.ViewRoot.handleMessage(ViewRoot.java:1859)
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at android.os.Handler.dispatchMessage(Handler.java:99)
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at android.os.Looper.loop(Looper.java:123)
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at android.app.ActivityThread.main(ActivityThread.java:3683)
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at java.lang.reflect.Method.invokeNative(Native Method)
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at java.lang.reflect.Method.invoke(Method.java:507)
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
09:37:58.675    916 hnlapp.hairdresser  ERROR   AndroidRuntime      at dalvik.system.NativeStart.main(Native Method)
09:38:05.195    60  system_process  ERROR   InputDispatcher channel '406e82a8 hnlapp.hairdresser/hnlapp.hairdresser.Page_Login (server)' ~ Consumer closed input channel or an error occurred.  events=0x8
09:38:05.195    60  system_process  ERROR   InputDispatcher channel '406e82a8 hnlapp.hairdresser/hnlapp.hairdresser.Page_Login (server)' ~ Channel is unrecoverably broken and will be disposed!

そして、そのエラー メッセージは、私の getView メソッド内の次のコード行を参照しています。

                Label = (TextView) convertView;  
4

2 に答える 2

0

notifyDataSetChangedアダプタのメソッドを呼び出すだけです。

于 2013-01-29T07:19:17.900 に答える
0

以下のようにテキストビューにアクセスしてみてください。

Label = (TextView) convertView.findViewByID(R.id.textview);  
于 2013-01-29T07:31:53.477 に答える