Newts
Newts

Reputation: 1372

How to inflate layout?

I have two button and want to change layout content on click button on same page button is on the top.

I want to change particular area content in this xml by clicking on button.

It works like switch between two page.

Thanks In advance

It shows this exception in logcat

        **11-15 10:06:02.988: ERROR/AndroidRuntime(261): Uncaught handler: thread main            exiting due to uncaught exception
      11-15 10:06:03.017: ERROR/AndroidRuntime(261): java.lang.StackOverflowError
      11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.graphics.Paint.measureText(Paint.java:1020)
      11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.graphics.Paint.measureText(Paint.java:1057)
      11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.text.Styled.foreach(Styled.java:220)
      11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.text.Styled.measureText(Styled.java:371)
      11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.text.Layout.measureText(Layout.java:1601)
        11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.text.Layout.getLineMax(Layout.java:655)
       11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.text.Layout.draw(Layout.java:311)
      11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.text.BoringLayout.draw(BoringLayout.java:356)
      11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.widget.TextView.onDraw(TextView.java:4032)
      11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.widget.CompoundButton.onDraw(CompoundButton.java:229)
      11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.view.View.draw(View.java:6274)
     11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.view.ViewGroup.drawChild(ViewGroup.java:1526)
     11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1256)
     11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.view.ViewGroup.drawChild(ViewGroup.java:1524)
     11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1256)
     11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.view.ViewGroup.drawChild(ViewGroup.java:1524)
     11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1256)
     11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.view.ViewGroup.drawChild(ViewGroup.java:1524)
    11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1256)
     11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.view.ViewGroup.drawChild(ViewGroup.java:1524)
     11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1256)
     11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.view.View.draw(View.java:6277)
     11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.widget.FrameLayout.draw(FrameLayout.java:352)
     11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.view.ViewGroup.drawChild(ViewGroup.java:1526)
     11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1256)
     11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.view.ViewGroup.drawChild(ViewGroup.java:1524)
     11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1256)
     11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.view.ViewGroup.drawChild(ViewGroup.java:1524)
     11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1256)
    11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.view.ViewGroup.drawChild(ViewGroup.java:1524)
     11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1256)
     11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.view.ViewGroup.drawChild(ViewGroup.java:1524)
     11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1256)
     11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.view.View.draw(View.java:6277)
  11-15 10:06:03.017: ERROR/AndroidRuntime(261):     at android.view.ViewGroup.drawChild(ViewGroup.java:1526)**

Upvotes: 0

Views: 505

Answers (1)

kaspermoerch
kaspermoerch

Reputation: 16570

You need a container in your layout - lets say its a LinearLayout. Then you need a reference to it, in your activity.

LinearLayout container = (LinearLayout) findViewById( R.id.myContainer );

Then you need to create a onClickListener for your button:

private class OnButtonClicked implements OnClickListener {
   private void onClick( View v ) {
      //First we remove what is in the container
      container.removeAllViews();

      //Then we add the new content
      container.addView( newContent );
   }
}

The newContent can be any view that you inflate using a LayoutInflater.

Remember to add the OnClickListener:

myButton.setOnClickListener( new OnButtonClicked() );

Upvotes: 1

Related Questions