単純なテーブルがあり、動的にを追加TableRow
および削除します。TableRow
私の要件は、テーブルの最初の行を見出しのままにしておくことを示しているので、removeView(star,end);
メソッドを使用する必要がありますが、bが機能していないようで、をスローしNullPointerException
ます。また、removeAllViews()メソッドを使用しましたが、正しく機能しているため、NullPointerExceptionがスローされる理由がわかりません。どうすれば問題を解決できますか?これは私のコードです:-
TableLayout table = (TableLayout) findViewById(R.id.myTable);
table.removeViews(1, table.getChildCount());
//table.removeAllViews();
table.postInvalidate();
bindData();
これはlogcatエラーです:-
10-22 06:16:05.204: E/AndroidRuntime(828): Uncaught handler: thread main exiting due to uncaught exception
10-22 06:16:05.214: E/AndroidRuntime(828): java.lang.NullPointerException
10-22 06:16:05.214: E/AndroidRuntime(828): at android.view.ViewGroup.removeViewsInternal(ViewGroup.java:2116)
10-22 06:16:05.214: E/AndroidRuntime(828): at android.view.ViewGroup.removeViews(ViewGroup.java:2064)
10-22 06:16:05.214: E/AndroidRuntime(828): at com.techdeedapps.diamond.ViewStockActivity$BackgroungLoadingDiamondList.onPostExecute(ViewStockActivity.java:348)
10-22 06:16:05.214: E/AndroidRuntime(828): at com.techdeedapps.diamond.ViewStockActivity$BackgroungLoadingDiamondList.onPostExecute(ViewStockActivity.java:1)
10-22 06:16:05.214: E/AndroidRuntime(828): at android.os.AsyncTask.finish(AsyncTask.java:417)
10-22 06:16:05.214: E/AndroidRuntime(828): at android.os.AsyncTask.access$300(AsyncTask.java:127)
10-22 06:16:05.214: E/AndroidRuntime(828): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:429)
10-22 06:16:05.214: E/AndroidRuntime(828): at android.os.Handler.dispatchMessage(Handler.java:99)
10-22 06:16:05.214: E/AndroidRuntime(828): at android.os.Looper.loop(Looper.java:123)
10-22 06:16:05.214: E/AndroidRuntime(828): at android.app.ActivityThread.main(ActivityThread.java:4363)
10-22 06:16:05.214: E/AndroidRuntime(828): at java.lang.reflect.Method.invokeNative(Native Method)
10-22 06:16:05.214: E/AndroidRuntime(828): at java.lang.reflect.Method.invoke(Method.java:521)
10-22 06:16:05.214: E/AndroidRuntime(828): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
10-22 06:16:05.214: E/AndroidRuntime(828): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
10-22 06:16:05.214: E/AndroidRuntime(828): at dalvik.system.NativeStart.main(Native Method)
このメソッドを使用してすべてのビューを削除すると完全に機能します。table.removeAllView()
それでは、なぜこのメソッドを使用して機能しないのtable.removeViews(1,table.getChildCount()
でしょうか。