Fragments Básico

Bom pessoal, depois de quebrar a cabeça por vários dias, eu me rendo, e peço ajuda …
=)

quero implementar um exemplo simples de Fragments, e não achei material que me explique com eu preciso (levanod em consideração meus conhecimentos, enfim) … e tenho certeza que este tópico, com a ajuda de vc´s, irá introduzir futuramente muito para os Fragments …

Objetivo: quero uma tela dividido em dois (onde o lado esquerdo será um menu, e na parte da direita carregarei classes referntes a este menu).
Bom, fiz o seguinte:
Tenho uma classe principal, que apenas chama o seu xml:

package com.example.testefragments;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;

public class TelaPrincipal extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.tela_principal);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}

tenho o xml da classe prinicpal, que menciona os dois fragments que desejo:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <fragment android:name="com.example.testefragment.fragmento1"
        android:id="@+tela_principal/fragmento1"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.60"/>
    
    <fragment android:name="com.example.testefragment.fragmento2"
        android:id="@+tela_principal/fragmento2"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="2.4"/>
    
</LinearLayout>

depois disso, criei duas classes que extendem Fragment:

fragmento1:

package com.example.testefragments;



import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class Fragmento1 extends Fragment {

	
	
	@Override
	 public View onCreateView(LayoutInflater inflater, ViewGroup container, 
		        Bundle savedInstanceState) {

		        return inflater.inflate(R.layout.fragmento1, container, false);
		    }
	
}

fragmento2:

package com.example.testefragments;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class Fragmento2 extends Fragment {

	
	
	@Override
	 public View onCreateView(LayoutInflater inflater, ViewGroup container, 
		        Bundle savedInstanceState) {

		        return inflater.inflate(R.layout.fragmento2, container, false);
		    }
	
}

antes mesmo de começar a trocar os fragmentas, apenas com o código acima já tenho problemas … tenho um classNotFoundException …
alguém poderia me ajudar ?

muito obrigado por antecipação …

Sobre o ClassNotFound,

O correto é:

com.example.testefragments.Fragmento2

E não:
com.example.testefragment.fragmento2

Segundo, para trocar os do lado direito, voce poderia declarar uma FrameLayout nessa area (inves do fragmento direto) e troca-los através do FragmentTransaction.

Obrigado Marky ! Vejo que sempre ajuda aos outros …
=)

então, de fato tb observei o erro depois do post (maiúsculo) … corrig hih … mas tou com outros errso (cast)
=)

por gentileza:
considere que eu tenha um linear layout em cada xml (fragmento1.xml e fragmento2.xml), no qual cada um tem um texto (textview simples);

na classe java de cada fragmento tenho o seguinte: (no dois só muda o o “1” pelo “2” obviamente)

@Override
	 public View onCreateView(LayoutInflater inflater, ViewGroup container, 
		        Bundle savedInstanceState) {
		
			View viewLadoA = inflater.inflate(R.layout.fragmento1, null);
			
			return viewLadoA;
		    }

isso não deveria ser o suficiente pra inflar meus dois fragments ?
=)

ah, detalhe, minha classe principal chama apenas o xml que contem os dois fragments:

public class TelaPrincipal extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.tela_principal);

	}

não seira suficiente ? =) (leigo é f**) …

Ufa !! consegui !!
tava dando erro de cast … e descobri >> eu estava importando o support.v-4.app.fragments … alterei para o app.fragments e resolveu !!
=)

aproveitando, possui (ou alguém) as linhas de código de exemplo pra trocar somente o FrameLayout com o FragmentTransaction ?
=)

valeu …
=)

Voce declararia um FrameLayout no layout

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <fragment android:name="com.example.testefragment.fragmento1"
        android:id="@+tela_principal/fragmento1"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.60"/>
    
    <FrameLayout 
        android:id="@+id/frag_container"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="2.4"/>
    
</LinearLayout>

E via codigo (Activity) voce muda naquela area:

public class TelaPrincipal extends Activity {  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.tela_principal);  
  
Fragmento1 frag1 = new Fragmento1(this);

FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.frags_container, frag1);
ft.commit();
    }  

E então em um ponto da aplicação (evento de um botão por exemplo) você realizaria outra Transaction que faça o replace do fragmento na area do frags_container.

PS: fiz de cabeça, pode haver erros.

Muito Obrigado !!

Vc já tinha me cantado as pedras !! =)
eu achei um exemplo do Erich da Caleum, e vi que ele fazia extamente como vc mencionou … funfou beleza …
as aulas estão acabando agora, aí quero finalizar este post demonstrando meu código, e explicando, pra caso alguém ainda tenha dúvidas, possa se orientar =)
valeu, e muito obrigado novamente …
=))