sexta-feira, 18 de novembro de 2011

Menu de Activities

Usando o mesmo conceito do post anterior(ListActivity), neste post usarei esta classe para construir um menu com activities que podem ser selecionadas.

Segue o código da activity principal:



  1. package br.android;
  2.  
  3. import android.app.ListActivity;
  4. import android.content.Intent;
  5. import android.os.Bundle;
  6. import android.view.View;
  7. import android.widget.*;
  8.  
  9. public class Menu extends ListActivity {
  10.  
  11.  private static final String[] activities = new String[]{"Activity 1""Activity 2""Activity 3""Activity 4"};
  12.  
  13.     public void onCreate(Bundle icicle) {
  14.         super.onCreate(icicle);
  15.         setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, activities));
  16.        
  17. }
  18.     protected void onListItemClick(ListView l, View v, int position, long id){
  19.      switch(position){
  20.      case 0:
  21.       startActivity(new Intent(this, Activity1.class));
  22.       break;
  23.      
  24.      default:
  25.       finish();
  26.      
  27.      }
  28.     }  
  29. }



ScreenShot:





O onListItemClick age baseado no índice do item selecionado. Como o código foi escrito apenas para testes, eu só atribuí uma nova activity para a primeira opção, ao clicar nas demais, o método finish() chama o onDestroy() que encerra o programa.

Código da activity chamada:



  1. package br.android;
  2.  
  3. import android.app.Activity;
  4. import android.graphics.Color;
  5. import android.os.Bundle;
  6. import android.widget.*;
  7.  
  8. public class Activity1 extends Activity {
  9.  
  10.     public void onCreate(Bundle icicle) {
  11.     super.onCreate(icicle);
  12.     TextView txt = new TextView(this);
  13.     txt.setTextColor(Color.RED);
  14.     txt.setText("Está é a Activity 1");
  15.    
  16.     setContentView(txt);
  17.    
  18.      }
  19.     }



Criei o layout por código mesmo sem o auxílio do XML, já que a parte mais importante era saber se, de fato, a activity seria chamada.

Screenshot:




 

Nenhum comentário:

Postar um comentário