-1

TabWidget の前のアクティビティに移動する機能よりもボタンを実行しようとしています

        btnVolver.setOnClickListener(new OnClickListener() 
        {
            @Override
            public void onClick(View arg0) 
            {
                String className = getIntent().getStringExtra("webpush");
                Class<?> webpushClass = null;
                try {
                    webpushClass = Class.forName(className);
                } catch (ClassNotFoundException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

                 Intent intent = new Intent(getApplicationContext(), webpushClass); 
                 intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
//               intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
//               intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
//               webPushActivity.this.finishActivity(RESULT_OK);
                 View vista = getLocalActivityManager().startActivity("prueba",
                         intent)
                            .getDecorView();
                       setContentView(vista);

A--> 実際の活動。B--> 前のアクティビティ

しかし、A から B、B から A、A から B に移動すると (3 回目のクリック)、次のエラーが表示されます。

 06-20 09:23:20.256: E/AndroidRuntime(554): FATAL EXCEPTION: main
 06-20 09:23:20.256: E/AndroidRuntime(554):
 java.lang.StackOverflowError
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.text.Styled.measureText(Styled.java:430)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.text.Layout.measureText(Layout.java:1655)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.text.Layout.getLineMax(Layout.java:689)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.text.Layout.draw(Layout.java:340)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.text.BoringLayout.draw(BoringLayout.java:365)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.widget.TextView.onDraw(TextView.java:4050)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.View.draw(View.java:6740)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.drawChild(ViewGroup.java:1640)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.View.draw(View.java:6743)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.drawChild(ViewGroup.java:1640)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.drawChild(ViewGroup.java:1638)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.drawChild(ViewGroup.java:1638)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.View.draw(View.java:6743)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.widget.FrameLayout.draw(FrameLayout.java:352)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.drawChild(ViewGroup.java:1640)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.drawChild(ViewGroup.java:1638)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.View.draw(View.java:6743)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.widget.FrameLayout.draw(FrameLayout.java:352)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.drawChild(ViewGroup.java:1640)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.drawChild(ViewGroup.java:1638)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.View.draw(View.java:6743)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.widget.FrameLayout.draw(FrameLayout.java:352)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.drawChild(ViewGroup.java:1640)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.drawChild(ViewGroup.java:1638)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.View.draw(View.java:6743)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.widget.FrameLayout.draw(FrameLayout.java:352)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.drawChild(ViewGroup.java:1640)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.drawChild(ViewGroup.java:1638)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.View.draw(View.java:6743)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.widget.FrameLayout.draw(FrameLayout.java:352)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.drawChild(ViewGroup.java:1640)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.drawChild(ViewGroup.java:1638)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.View.draw(View.java:6743)

 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.widget.FrameLayout.draw(FrameLayout.java:352)

 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.drawChild(ViewGroup.java:1640)

 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)

 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.drawChild(ViewGroup.java:1638)

 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)

 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.drawChild(ViewGroup.java:1638)

 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)

 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.drawChild(ViewGroup.java:1638)

 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)

 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.drawChild(ViewGroup.java:1638)

 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)

 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.drawChild(ViewGroup.java:1638)

 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)

 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.View.draw(View.java:6743)

 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.widget.FrameLayout.draw(FrameLayout.java:352)

 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.drawChild(ViewGroup.java:1640)

 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)

 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.View.draw(View.java:6743)

 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.widget.FrameLayout.draw(FrameLayout.java:352)

 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1842)

 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewRoot.draw(ViewRoot.java:1407)

 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewRoot.performTraversals(ViewRoot.java:1163)

 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.view.ViewRoot.handleMessage(ViewRoot.java:1727)

 06-20 09:23:20.256: E/AndroidRuntime(554):     at
 android.os.Handler.dispatchMess

ありがとう

4

2 に答える 2

0

よくわかりませんが、別のアクティビティを開始して、現在のアクティビティにビューを設定しようとしていますか?

于 2012-06-20T09:54:36.717 に答える
0

おそらくネストされたビューが多すぎることが原因です( logcatStackOverflowErrorコンテンツからも示唆されています)。

詳細については、次のリンクを参照してください。

Android スタック オーバーフロー エラー

java.lang.StackOverFlow エラーです。ビューが多すぎると思われますか?

Stackoverflow:ネストされたビューが原因ですか?

于 2012-06-20T09:49:36.020 に答える