ListActivity - chamando activitys

Top  Previous  Next

Descrição

 

Este projeto cria um principal extendendo o ListActivity e mostra numa lista 2 activity.

Tela

 

Projeto

 

Listagem.java

 

package com.listaatividade;

 

import android.app.ListActivity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.ArrayAdapter;

import android.widget.ListView;

 

public class Listagem extends ListActivity {

 

 String classes[] = { "Atividade1", "Atividade2" };

 

 @Override

 protected void onCreate(Bundle savedInstanceState) {

         super.onCreate(savedInstanceState);

         setListAdapter(new ArrayAdapter<String>(Listagem.this,

                         android.R.layout.simple_list_item_1, classes));

 }

 

 @Override

 protected void onListItemClick(ListView l, View v, int position, long id) {

         super.onListItemClick(l, v, position, id);

 

         String classeSelecionada = classes[position];

         try {

                 // associa a class por nome

                 Class nossaClasse = Class.forName("com.listaatividade." + classeSelecionada);

                 

                 // cria uma intent usando a classe

                 Intent classeParaAbrir = new Intent(Listagem.this, nossaClasse);

                 

                 // inicia atividade

                 startActivity(classeParaAbrir);                        

         } catch (ClassNotFoundException e) {

                 e.printStackTrace();

         }

 

 }

}

 

Atividade1.java

 

package com.listaatividade;

 

import android.app.Activity;

import android.os.Bundle;

 

public class Atividade1 extends Activity {

  @Override

  public void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

       setContentView(R.layout.atividade1);

   }

}

 

Atividade2.java

 

package com.listaatividade;

 

import android.app.Activity;

import android.os.Bundle;

 

public class Atividade2 extends Activity {

  @Override

  public void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

       setContentView(R.layout.atividade2);

   }

 

}

 

atividade1.xml

 

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

   android:layout_width="fill_parent"

   android:layout_height="fill_parent"

   android:orientation="vertical" >

 

   <TextView

       android:layout_width="fill_parent"

       android:layout_height="wrap_content"

      android:text="Oi, eu sou a Ativiadade 1!" />

 

</LinearLayout>

 

atividade2.xml

 

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

   android:layout_width="fill_parent"

   android:layout_height="fill_parent"

   android:orientation="vertical" >

 

   <Button

       android:id="@+id/button1"

       android:layout_width="fill_parent"

       android:layout_height="wrap_content"

      android:text="Este botão está na atividade 2" />

 

</LinearLayout>

 

AndroidManifest.xml

 

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

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

   package="com.listaatividade"

   android:versionCode="1"

   android:versionName="1.0" >

 

   <uses-sdk android:minSdkVersion="7" />

 

   <application

       android:icon="@drawable/ic_launcher"

       android:label="@string/app_name" >

 

       <activity

           android:name="Listagem"

           android:label="@string/app_name" >

           <intent-filter>

               <action android:name="android.intent.action.MAIN" />

 

               <category android:name="android.intent.category.LAUNCHER" />

           </intent-filter>

       </activity>

 

       <activity

           android:name=".Atividade1"

           android:label="@string/app_name" >

           <intent-filter>

               <action android:name="android.intent.action.ATIVIDADE1" />

               <category android:name="android.intent.category.DEFAULT" />

           </intent-filter>

       </activity>

       

       

       <activity

           android:name=".Atividade2"

           android:label="@string/app_name" >

           <intent-filter>

               <action android:name="android.intent.action.ATIVIDADE2" />

 

               <category android:name="android.intent.category.DEFAULT" />

           </intent-filter>

       </activity>

       

       </application>

 

</manifest>