-1

I'm trying to do a button than it function is go to previous activity in a 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--> Actual activty. B--> Previous Activity

but when I go from A to B, from B to A, from A to B (third click) I get the next error:

 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

Thank's

Samir Mangroliya
  • 39,918
  • 16
  • 117
  • 134
Christian
  • 53
  • 1
  • 8

2 Answers2

0

Your StackOverflowError is probably caused by too many nested views(as also hinted by your logcat content).

Look at the following links for further reference:

Android StackOverflow Error

java.lang.StackOverFlow error. Suspected too many views?

Stackoverflow: Caused by nested views?

Community
  • 1
  • 1
Kazekage Gaara
  • 14,972
  • 14
  • 61
  • 108
0

I`m not sure, but are you trying to start another activity and set a view to the current one?

Lyn
  • 699
  • 1
  • 7
  • 17
  • I have a three tabs, in a tab I have an activity (A) and I open other(B) activity in the same Tab. In the last activity(B) I have a button for go back to (A). When I click in this button I go to A correctly. Then I go again from A to B again, and from B to A. I get error when I try to go again to B. I hope You undestand me. Thank for your help! ;) – Christian Jun 20 '12 at 09:59