Sei sulla pagina 1di 26

GUIA 5.

Uso de ListView, Creación de Varias Activity y envió de datos entre


Activities.

Nota: En esta guía van a encontrar un concepto importante: Los intent ( a


través de él podemos interactuar con otros activities y pasar parámetros)

1. Creamos un Nuevo Proyecto, en este caso lo


denomino OtrosControles

Creamos la actividad en Blanco.


Creamos el Primer Activity denominado Presentacion

Para el primer Activity creamos un ImageButton, dos TextView y un EditText


El código al final queda así:

XML

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


<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"

android:layout_centerInParent="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.example.mauricioruiz.otroscontroles.Presentacion"
tools:showIn="@layout/activity_presentacion">

<ImageButton
android:id="@+id/btniniciar"
android:layout_width="213dp"
android:layout_height="267dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
app:srcCompat="@mipmap/ic_launcher" />

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignEnd="@+id/btniniciar"
android:layout_alignLeft="@+id/btniniciar"
android:layout_alignRight="@+id/btniniciar"
android:layout_alignStart="@+id/btniniciar"
android:layout_below="@+id/btniniciar"
android:layout_marginTop="26dp"
android:text="Bienvenidos"
android:textAlignment="center"
android:textSize="24sp"

android:textStyle="bold" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView"
android:layout_marginTop="36dp"
android:text="Ingrese su Nombre"
android:textAlignment="center"
android:layout_alignRight="@+id/textView"
android:layout_alignEnd="@+id/textView"
android:layout_alignLeft="@+id/edtnombre"
android:layout_alignStart="@+id/edtnombre" />

<EditText
android:id="@+id/edtnombre"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

android:ems="10"
android:inputType="textPersonName"
android:text="Name"
android:textAlignment="center"
android:layout_marginBottom="24dp"
android:layout_alignParentBottom="true"
android:layout_alignRight="@+id/textView"
android:layout_alignEnd="@+id/textView" />

</RelativeLayout>

Codigo Java

package com.example.mauricioruiz.otroscontroles;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.content.Intent;
import android.widget.ImageButton;
import android.widget.EditText;

public class Presentacion extends AppCompatActivity {

private ImageButton btniniciar;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_presentacion);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

final EditText nombreenvio;


nombreenvio=(EditText)findViewById(R.id.edtnombre);

btniniciar = (ImageButton) findViewById(R.id.btniniciar);


btniniciar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(v.getContext(), Acercade.class
);
intent.putExtra("mensaje",
nombreenvio.getText().toString());
startActivityForResult(intent, 0);
}
});

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_presentacion, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();

if (id == R.id.action_settings) {
return true;
}

return super.onOptionsItemSelected(item);
}
}
Ahora vamos a crear otros activities, para eso nos ubicamos en la carpeta App, y seleccionamos
la opción crear New – Activity, y seleccionamos Blank Actitivy.

Vamos a hacer esto para todos los activities requeridos

Creo un activity en Blanco denominado Acercade, donde vamos a agregar el objeto ListView.

El código de xml es:

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


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

<TextView
android:id="@+id/txvNombre"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="@style/TextAppearance.AppCompat.Display1"
android:textSize="12sp" />

<ListView
android:id="@+id/list"
android:layout_height="wrap_content"
android:layout_width="match_parent">
</ListView>

</LinearLayout>
El código java es:

package com.example.mauricioruiz.otroscontroles;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.TextView;

public class Acercade extends AppCompatActivity {


ListView listView;
Intent intent;

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

Bundle bundle = getIntent().getExtras();


String nombre=bundle.getString("mensaje");

String textoPasado = nombre;


TextView out = (TextView)findViewById(R.id.txvNombre);
out.setText(" "+textoPasado+" Escoje una de estas opciones: ");

listView = (ListView) findViewById(R.id.list);

String[] values = new String[]{"Ir a Pantalla 1",


"Ir a Pantalla 2"};

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,


android.R.layout.simple_list_item_1, android.R.id.text1,
values);

listView.setAdapter(adapter);
listView.setOnItemClickListener(new
AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int
position, long id) {

int posicion = position;

String itemValue = (String)


listView.getItemAtPosition(position);
switch (posicion)
{
case 0: intent = new
Intent(getApplicationContext(),Calculadora.class); break;
case 1: intent = new
Intent(getApplicationContext(),Otros.class); break;

startActivity(intent);

});
}
}

Luego creo un activity más denominado Calculadora

El código de xml es:

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


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#1111"
>

<TextView
android:id="@+id/Resultado"
android:textSize="30sp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="0"
/>

<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="1"
>
<TableRow>
<Button
android:layout_column="4"
android:id="@+id/Boton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1"
android:textSize="15dp"
android:padding="32dp"
>
</Button>
<Button
android:layout_column="4"
android:id="@+id/Boton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2"
android:textSize="15dp"
android:padding="32dp"
>

</Button>
<Button
android:layout_column="4"
android:id="@+id/Boton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3"
android:textSize="15dp"
android:padding="32dp"

>

</Button>
<Button
android:layout_column="4"
android:id="@+id/Botondiv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="/"
android:textSize="15dp"
android:padding="32dp"
>

</Button>
</TableRow>
<TableRow>
<Button
android:layout_column="4"
android:id="@+id/Boton4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="4"
android:textSize="15dp"
android:padding="32dp"

>
</Button>
<Button
android:layout_column="4"
android:id="@+id/Boton5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5"
android:textSize="15dp"
android:padding="32dp"

>

</Button>
<Button
android:layout_column="4"
android:id="@+id/Boton6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="6"
android:textSize="15dp"
android:padding="32dp"

>

</Button>
<Button
android:layout_column="4"
android:id="@+id/Botonmulti"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*"
android:textSize="15dp"
android:padding="32dp"

>

</Button>
</TableRow>
<TableRow>
<Button
android:layout_column="4"
android:id="@+id/Boton7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="7"

android:textSize="15dp"
android:padding="32dp"
>

</Button>

<Button
android:layout_column="4"
android:id="@+id/Boton8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="8"
android:textSize="15dp"
android:padding="32dp"

>

</Button>
<Button
android:layout_column="4"
android:id="@+id/Boton9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="9"
android:textSize="15dp"
android:padding="32dp"

>

</Button>
<Button
android:layout_column="4"
android:id="@+id/Botonsuma"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+"
android:textSize="15dp"
android:padding="32dp"
>

</Button>
</TableRow>
<TableRow>
<Button
android:layout_column="4"
android:id="@+id/Boton0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:textSize="15dp"
android:padding="32dp"
>

</Button>
<Button
android:layout_column="4"
android:id="@+id/Botonpunto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="."
android:textSize="15dp"
android:padding="32dp"
>

</Button>
<Button
android:layout_column="4"
android:id="@+id/Botonresta"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="-"
android:textSize="15dp"
android:padding="32dp"
>

</Button>
<Button
android:layout_column="4"
android:id="@+id/Botonsqrt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="sqrt"
android:textSize="15dp"
android:padding="32dp"
>

</Button>
</TableRow>

<TableRow>

<Button
android:layout_column="4"
android:id="@+id/Botonexp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="x²"
android:textSize="15dp"
android:padding="32dp"
>

</Button>
<Button
android:layout_column="4"
android:id="@+id/Botonigual"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="="
android:textSize="15dp"
android:padding="32dp"
>

</Button>

<Button
android:layout_column="4"
android:id="@+id/DEL"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="DEL"

android:textSize="15dp"
android:padding="32dp"
>

</Button>
<Button
android:layout_column="4"
android:id="@+id/CE"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CE"

android:textSize="15dp"
android:padding="32dp"
>

</Button>
</TableRow>
</TableLayout>
</LinearLayout>

El código java es:

package com.example.mauricioruiz.otroscontroles;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.TextView;
public class Calculadora extends AppCompatActivity {

/** Called when the activity is first created. */


String x="";
int flagpu=0;
public int flagpas=0;
double Total=0,x1,y1;
int flagl=0;
int ope=0;
public String im(String a){
float p=Float.parseFloat(a);
p*=-1;
p=(float) Math.sqrt(p);
a=p+"i";
return a;
}
public void procesa(String a){
Total=Double.parseDouble(a);
x="";

public String resu(){


return x;
}
public void almacena(String a){
if(flagl>0){
x="";
flagl=0;
}

x+=a;

}
public String get(){
return x;
}
public String resultad(){
switch (ope){
case 1:{
//suma
Total=x1+y1;
x=""+Total;
break;

}
case 2:{

Total=x1*y1;
x=""+Total;
break;

}
case 3:{

Total=x1-y1;
x=""+Total;
break;

}
case 4:{

Total=x1/y1;
x=""+Total;
break;

}
default:{
x=""+y1;
break;
}

x1=0;
y1=0;
flagpu=0;
return x;
}
@Override

public void onCreate(Bundle savedInstanceState)


{

requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);

setContentView(R.layout.activity_calculadora);

final TextView
Resultado=(TextView)findViewById(R.id.Resultado);
//Boton 1
final Button boton1=(Button)findViewById(R.id.Boton1);

boton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){

almacena("1");

Resultado.setText(get());

}
});
//Boton 2
final Button boton2=(Button)findViewById(R.id.Boton2);

boton2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){

almacena("2");

Resultado.setText(get());
}
});
//Boton 3
final Button boton3=(Button)findViewById(R.id.Boton3);

boton3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){

almacena("3");

Resultado.setText(get());

}
});
//Boton 4
final Button boton4=(Button)findViewById(R.id.Boton4);

boton4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){

almacena("4");

Resultado.setText(get());

}
});
//Boton 5
final Button boton5=(Button)findViewById(R.id.Boton5);

boton5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
almacena("5");

Resultado.setText(get());

}
});
//Boton 6
final Button boton6=(Button)findViewById(R.id.Boton6);

boton6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
almacena("6");

Resultado.setText(get());

}
});
//Boton 7
final Button boton7=(Button)findViewById(R.id.Boton7);

boton7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){

almacena("7");

Resultado.setText(get());

}
});
//Boton 8
final Button boton8=(Button)findViewById(R.id.Boton8);

boton8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
almacena("8");

Resultado.setText(get());

}
});
//Boton 9
final Button boton9=(Button)findViewById(R.id.Boton9);

boton9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){

almacena("9");

Resultado.setText(get());

}
});
//Boton .
final Button
botonpunto=(Button)findViewById(R.id.Botonpunto);
botonpunto.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){

if(flagpu==0){
almacena(".");
flagpu++;
}

Resultado.setText(get());

}
});
//Boton 1
final Button boton0=(Button)findViewById(R.id.Boton0);

boton0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){

almacena("0");

Resultado.setText(get());

}
});
//Boton 1
final Button
botonmulti=(Button)findViewById(R.id.Botonmulti);

botonmulti.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
ope=2;

if(x1==0){
x=Resultado.getText().toString();
x1=Double.parseDouble(x);
x="";
Resultado.setText(x);
}else{

y1=Double.parseDouble(Resultado.getText().toString());

Resultado.setText(resultad());

flagl++;
}
});

final Button
botonresta=(Button)findViewById(R.id.Botonresta);

botonresta.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){

if("".equals(x)){
almacena("-");
}else{
ope=3;
flagl++;
if(x1==0){
x=Resultado.getText().toString();
x1=Double.parseDouble(x);
x="";
Resultado.setText(x);
}else{

y1=Double.parseDouble(Resultado.getText().toString());

Resultado.setText(resultad());}

}
});
final Button botondiv=(Button)findViewById(R.id.Botondiv);

botondiv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
ope=4;
flagl++;
if(x1==0){
x=Resultado.getText().toString();
x1=Double.parseDouble(x);
x="";
Resultado.setText(x);
}else{

y1=Double.parseDouble(Resultado.getText().toString());

Resultado.setText(resultad());
}

}
});
final Button botonsuma=(Button)findViewById(R.id.Botonsuma);

botonsuma.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
ope=1;
flagl++;
if(x1==0){
x=Resultado.getText().toString();
x1=Double.parseDouble(x);
x="";
Resultado.setText(x);
}else{

y1=Double.parseDouble(Resultado.getText().toString());

Resultado.setText(resultad());}

}
});
final Button sqrt=(Button)findViewById(R.id.Botonsqrt);

sqrt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
x=Resultado.getText().toString();

flagl++;
double p=Float.parseFloat(x);
if(p>=0){
p= Math.sqrt(p);
Total=p;
Resultado.setText(""+Total);
x="";
}else {
Resultado.setText(im(x));

}
});
final Button del=(Button)findViewById(R.id.DEL);

del.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
if(x.length()>0)
x=x.substring(0, (x.length()-1));
Resultado.setText(x);

}
});
final Button Ce=(Button)findViewById(R.id.CE);
Ce.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {


x="";
y1=0;
x1=0;
Total=0;
flagpu=0;
flagpas=0;

Resultado.setText("");
}
});
final Button igual=(Button)findViewById(R.id.Botonigual);

igual.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

y1=Double.parseDouble(Resultado.getText().toString());

Resultado.setText(resultad());

}
});
final Button exp=(Button)findViewById(R.id.Botonexp);
exp.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {


x=Resultado.getText().toString();
double k=Float.parseFloat(x);
k=k*k;
Total=k;
flagl++;

Resultado.setText(""+Total);

}
});

}
}

Finalmente creo un ultimo Activity

El código XML es

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


<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.mauricioruiz.otroscontroles.Otros">

</android.support.constraint.ConstraintLayout>

El código Java es:

package com.example.mauricioruiz.otroscontroles;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class Otros extends AppCompatActivity {

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

Aquí ya es libertad de cada estudiante hacer la implementación que desee.

Este programa permitirá que puedan interactuar con el Objeto ListView, otros Activities y enviar
parámetros a otros Activities.

El resultado del programa será el siguiente:

Potrebbero piacerti anche