getInflater() メソッドを呼び出すと StackOverflowError Exception が発生します。そのメソッドを呼び出して別のオブジェクトに渡して View arg3=inflater.inflate(R.layout.lastrow_layout, null) メソッドを呼び出そうとしました。では、なぜこの種のエラーが発生するのかどうすればそれを解決できますか?または、インフレータオブジェクトを渡さずに同じことを行う方法はありますか? エラーログです。
GC_FOR_ALLOC freed 88K, 9% free 2645K/2884K, paused 73ms, total 89ms
threadid=1: stack overflow on call to Lcom/example/ikmantest2/MainActivity;.getInf later:L method requires 8+20+4=32 bytes, fp is 0x4364f318 (24 left) expanding stack end (0x4364f300 to 0x4364f000) Shrank stack (to 0x4364f300, curFrame is 0x43654ec4) Shutting down VM threadid=1: thread exiting with uncaught exception (group=0x40a71930) GC_CONCURRENT freed 12K, 5% free 3146K/3304K, paused 77ms+79ms, total 249ms
09-07 08:40:57.719: D/dalvikvm(1155): WAIT_FOR_CONCURRENT_GC blocked 13ms
FATAL EXCEPTION: main
java.lang.StackOverflowError atcom. example. ikmantest2. MainActivity.getInflater(MainActivity.java:253)
これはエラーを出すコードです。 (これは Activity_Main.java にあります)
public LayoutInflater getInflater() {
return getInflater();
}
そして、この Inflater オブジェクトは別のクラスで this として使用されます。
View arg3=inflater.inflate(R.layout.lastrow_layout, null)