Layout estilo Facebook

Galera,

Estou desenvolvendo um app, com o Layout estilo o do Facebook. O que me resta para deixar ele completo é, ao clicar na em algum item da lista que fica escondida, mudar a tela\view do app.

Sabem como posso fazer isso? o código segue abaixo:

[code]package br.com.android.pedmobile;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.List;

import br.com.android.negocios.Item;
import br.com.android.negocios.PedItem;
import br.com.android.negocios.PedVenda;
import android.app.Activity;
import android.content.res.Resources;
import android.os.Bundle;
import android.util.Log;
import android.view.Display;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.TranslateAnimation;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.RelativeLayout;

public class PedMobilePedido extends Activity {

private ImageButton buttonSwitch;
private View subLayout;
private View topLayout;
private ListView subViewListView;
private String listViewDummyContent[] = new String[7];
private Display display;
private View fakeLayout;
private AnimationListener AL;
private View viewClientes;
private View viewFrete;
private View viewSwitchOpcao;
private RelativeLayout listaOpcoesLay;
private Array opcoes;
private LinearLayout layoutItem;

// Valores para depois da animação
private int oldLeft;
private int oldTop;
private int newleft;
private int newTop;
private int screenWidth;
private int animToPostion;
// TODO change the name of the animToPostion for a better explanation.

private boolean menuOpen = false;

    /** Called when the activity is first created. */  
    @Override  
    public void onCreate(Bundle savedInstanceState) {
    	
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.pedmobile_pedido);
        
        listViewDummyContent[0] = "CLIENTE";
        listViewDummyContent[1] = "ITENS";
        listViewDummyContent[2] = "INSTRUÇÕES A VENDAS";
        listViewDummyContent[3] = "ROTEIRO";
        listViewDummyContent[4] = "FRETE";
        listViewDummyContent[5] = "COND. PAGTO";
        listViewDummyContent[6] = "RESUMO DO PEDIDO";            

        buttonSwitch = (ImageButton)findViewById(R.id.btSwitch);  
        subLayout = (View) findViewById(R.id.layout);  
        topLayout = (View) findViewById(R.id.layoutActionBar);
        subViewListView = (ListView)findViewById(R.id.listMenuSwitch);
        fakeLayout = (View)findViewById(R.id.fake_layout);            
        
        final LinearLayout layoutItem = (LinearLayout) findViewById(R.id.linearLayoutClientes);		
        viewClientes = getLayoutInflater().inflate(R.layout.pedmobile_pedido_clientes, layoutItem, false);
        viewFrete = getLayoutInflater().inflate(R.layout.pedmobile_pedido_frete, layoutItem, false);
        layoutItem.addView(viewClientes);
                    
        //	Cria a subLista
        viewSwitchOpcao = getLayoutInflater().inflate(R.layout.pedmobile_switch_opcao, layoutItem, false);
        layoutItem.addView(viewSwitchOpcao);            
                    
        listaOpcoesLay = (RelativeLayout) findViewById(R.id.layout);
        
        LayoutInflater mInflater = null;
        mInflater = LayoutInflater.from(this);
                              
        List<OpcaoSwitch> opcoes = new ArrayList<OpcaoSwitch>();

        Resources r = getResources();
                    
		for (int i = 0; i <= 6; i++) {
			int resId = r.getIdentifier("icon_"+i,"drawable", getPackageName());
			opcoes.add(new OpcaoSwitch(listViewDummyContent[i],resId));
		}
		
		SwitchAdapter adapter = new SwitchAdapter(getApplicationContext(),opcoes);
     		  
		// Configura o listview para usar o adapter.
		subViewListView.setAdapter(adapter);
		subViewListView.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> arg0, View arg1,int arg2, long arg3) {
				// TODO Auto-generated method stub
				if(arg2 == 0){
					//viewClientes.setVisibility(4);
					layoutItem.addView(viewFrete);
				}
			}
		});
		            
        display =  getWindowManager().getDefaultDisplay();
        screenWidth = display.getWidth();
        int calcAnimationPosition = (screenWidth / 3);

        // Value where the onTop Layer has to animate
        // also the max width of the layout underneath 
        // Set Layout params for subLayout according to calculation
        animToPostion = screenWidth - calcAnimationPosition;
        
        RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(animToPostion, RelativeLayout.LayoutParams.FILL_PARENT);
        subLayout.setLayoutParams(params);

         topLayout.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {

                    if(event.getAction() == MotionEvent.ACTION_DOWN) {
                        if (menuOpen == true) {
                            animSlideLeft();
                        }else if (menuOpen == false){
                        	animSlideRight();
                        }
                    }

                return false;
            }
        });

        buttonSwitch.setOnClickListener(new View.OnClickListener() {  

           @Override  
           public void onClick(View v) { 
               if(menuOpen == false){    
                   animSlideRight();
               } else if (menuOpen == true) {
                   animSlideLeft();
                   }
               }  
              });  

         AL = new AnimationListener() {

            @Override
            public void onAnimationStart(Animation animation) {
                buttonSwitch.setClickable(false);
                topLayout.setEnabled(false);
            }           
            @Override
            public void onAnimationRepeat(Animation animation) {
                // TODO Auto-generated method stub

            }               
            @Override
            public void onAnimationEnd(Animation animation) {
                if(menuOpen == true) {
                    Log.d("", "Open");              
                    topLayout.layout(oldLeft, oldTop, oldLeft + topLayout.getMeasuredWidth(), oldTop + topLayout.getMeasuredHeight() );
                    menuOpen = false;
                    buttonSwitch.setClickable(true);
                    topLayout.setEnabled(true);
                } else if(menuOpen == false) {
                    Log.d("","FALSE");
                    topLayout.layout(newleft, newTop, newleft + topLayout.getMeasuredWidth(), newTop + topLayout.getMeasuredHeight() );                    
                    topLayout.setEnabled(true);
                    menuOpen = true;
                    buttonSwitch.setClickable(true);
                }
            }
        };
    } 

    public void animSlideRight(){

           	fakeLayout.setVisibility(View.VISIBLE);
            newleft = topLayout.getLeft() + animToPostion;
            newTop = topLayout.getTop();    
            TranslateAnimation slideRight = new TranslateAnimation(0,newleft,0,0);
            slideRight.setDuration(300);   
            slideRight.setFillEnabled(true);   
            slideRight.setAnimationListener(AL);    
            topLayout.startAnimation(slideRight);           
    }

    public void animSlideLeft() {

        fakeLayout.setVisibility(View.GONE);
        oldLeft = topLayout.getLeft() - animToPostion;
        oldTop = topLayout.getTop();        
        TranslateAnimation slideLeft = new TranslateAnimation(newleft,oldLeft,0,0);
        slideLeft.setDuration(300);   
        slideLeft.setFillEnabled(true);   
        slideLeft.setAnimationListener(AL);    
        topLayout.startAnimation(slideLeft);                
    }

}
[/code]

[code]<?xml version="1.0" encoding="utf-8"?>

<SurfaceView android:id="@+id/surfaceView1"
    		 android:layout_width="fill_parent"
    		 android:layout_height="fill_parent" />
   

<RelativeLayout	android:id="@+id/layout"
    			android:layout_width="220dp"
    			android:layout_height="fill_parent"
    			android:background="@color/background2"
    			android:orientation="vertical" >        		       

    <LinearLayout	android:id = "@+id/fake_layout"
        			android:layout_width = "wrap_content"
        			android:layout_height = "wrap_content"
        			android:orientation = "vertical" 
        			android:visibility = "gone">
        			
    </LinearLayout>


    <ListView
        android:id="@+id/listMenuSwitch"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
        		
    </ListView>
    
</RelativeLayout>

<RelativeLayout	android:id="@+id/layoutActionBar"
    			android:layout_width="fill_parent"
    			android:layout_height="fill_parent"
    			android:orientation="vertical" 
    			android:background="@color/background3">

    <LinearLayout	android:id="@+id/linearLayoutActionBar"            			
        			android:layout_alignParentLeft="true"
        			android:layout_alignParentTop="true" 
        			style="@style/TitleBar">

        <ImageButton	android:id="@+id/btSwitch"                			
            			android:src="@drawable/navigation_cancel_light" 
            			style="@style/TitleBarAction"/>
        
        <ImageView style="@style/TitleBarSeparator" />

        <TextView
            android:id="@+id/textViewPedido"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:text="Pedido" 
            android:gravity="center_vertical" 
            android:textColor="@color/title_text" 
            android:layout_marginRight="5dp" 
            android:layout_marginLeft="5dp" 
            style="@style/TitleBarLogo" 
            android:textSize="20dp"/>                      

        <TextView
            android:id="@+id/textViewNrPedido"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:text="0000-0000" 
            android:textColor="@color/title_text" 
            android:gravity="center_vertical" 
            android:layout_marginLeft="5dp" 
            android:layout_marginRight="5dp" 
            android:textSize="20dp"/>
        
                    
        <TextView style="@style/TitleBarText" />
        
        <ImageView style="@style/TitleBarSeparator" />
        
        <ImageButton	android:id="@+id/btClose"                			
            			android:src="@drawable/navigation_cancel_light" 
            			style="@style/TitleBarAction"/>

    </LinearLayout>


    <LinearLayout 	android:id="@+id/linearLayoutClientes"
        			android:layout_width="fill_parent"
        			android:layout_height="wrap_content"
        			android:layout_alignParentLeft="true"
        			android:layout_alignParentTop="false"
        			android:background="@color/foreground2" 
        			android:layout_alignParentBottom="true" 
        			android:layout_below="@id/linearLayoutActionBar">            

    </LinearLayout>
    

</RelativeLayout>

[/code]

Você quer que quando tu clique em algo vá para outra tela?? Caso seja isso tente isso:

Button tela2 = (Button) findViewById(R.id.tela2);
tela2.setOnClickListener(new View.OnClickListener(){
public void onClick(View arg0) {
CarregaTela2();

public void CarregaTela2() {
setContentView(R.layout.tela2);

Na verdade, não quero que vá para outra tela, quero que em cada opção apareça uma tela diferente, sem sair da tela atual.

Como que você quer que em cada opção mostre uma tela diferente sem sair da tela? não entendi o que você quiz dizer.

Vamos supor que eu possua aquele menu (ListView) que oculto e aparece quando tocamos em um botão. Cada opção deste menu faria com que aparecesse uma “view” diferente na minha tela, sem necessariamente sair dela, muito parecido com o que acontece com uma tela com abas, ou seja, cada aba possui uma tela.

Erick…

faca assim…

vc precisa de apenas um ListView,
Crie um metodo que ao ser chamado altere esse ListView.
e vc passa os parametros do list view ao clicar no botao.

fiz assim no meu app…

metodo mostradados(entrada x)
inicia listview
se (x = y) {
atualiza listview
}
mostra listview

tentei ser bem direto… eh basicament isso… se nao deu pra entender eu monto um codigo aki e te mando.