Bom, na minha aplicação, o usuario clickaria em um filme a apareceria um AlertDialog dando opções de como fazer a reserva. No entando, quando se clicka no filme não acontece nada.
Eis o codigo
clicka no filme
listaFilmes.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapter, View view, int posicao,
long id) {
Log.i("locadora","clicou");
Filmes filme=(Filmes) adapter.getItemAtPosition(posicao);
ReservaFilme reservaFilme = new ReservaFilme(filme,ActivityPrincipal.this);
reservaFilme.reservar();
}
});
Classe ReservaFilme
package com.zamba.locadora;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.PendingIntent;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.net.Uri;
import android.telephony.PhoneNumberUtils;
import android.telephony.SmsManager;
import android.util.Log;
import android.widget.Toast;
public class ReservaFilme {
private final Filmes filme;
private final Activity context;
public ReservaFilme(Filmes filme,Activity context) {
this.filme = filme;
this.context = context;
Log.i("locadora","entrou na reserva");
}
public void reservar() {
Builder builder = new AlertDialog.Builder(context);
builder.setTitle("Faça a sua reserva");
builder.setMessage("Como gostaria de reservar o filme "+filme.getNome()+"?");
builder.setPositiveButton("Ligar", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent ligarNumero = new Intent(Intent.ACTION_CALL);
ligarNumero.setData(Uri.parse("tel:91154004"));
context.setIntent(ligarNumero);
}
});
builder.setNeutralButton("Mander Mensagem", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
SmsManager manager = SmsManager.getDefault();
PendingIntent sentIntent = PendingIntent.getActivity(context, 0, null, 0);
String telefone="91154004";
if(PhoneNumberUtils.isWellFormedSmsAddress(telefone)){
manager.sendTextMessage(telefone, null, "Reservou o filme: " +
filme.getNome(), sentIntent, null);
Toast.makeText(context, "Mensagem enviada com sucesso", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(context, "Falha ao enviar mensagem", Toast.LENGTH_SHORT).show();
}
}
});
builder.setNegativeButton("Cancelar reserva", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
}
}