Gostaria de criar opção para Sim ou Não no Android

Eu fiz este código no Java, esta ai a baixo: :smiley:
[…]
int ret = JOptionPane.showConfirmDialog(null, “Deseja classificar o usuario?”, “Atencao”, JOptionPane.YES_NO_OPTION);
if (ret == 0)
{msg = "Nome: " + pessoa.getNome() + “\n” + "Idade: " + pessoa.getIdade() + “\n” + "Classificação: " + pessoa.getClassificao();
JOptionPane.showMessageDialog(null, msg);
}
[…]
Mais logo depois que eu copiei e colei ele na classe do Android deu erro, ai vi que o Android não tem a biblioteca do JOptionPane, JOptionPane.showConfirmDialog e nem o JOptionPane.YES_NO_OPTION. O JOptionPane.showConfirmDialog cria a janela para a opção O JOptionPane.YES_NO_OPTION. O JOptionPane.YES_NO_OPTION é que faz criar a janela da opção Sim ou Não.
O JOptionPane eu toquei pelo System.out.Print(?..?); mesmo assim quando fui tocar o YES_NO_OPTION não funcionou.
Ai gostaria de saber como devo substituir JOptionPane.YES_NO_OPTION nesta classe para que funcione no Android.
Obrigado pela ajuda. :lol:

Não tenho uma máquina com Android aqui, na verdade sou completamente ignorante a respeito do Android, mas no meu tempo de Windows CE (o que se chama de “Windows Phone” hoje em dia), era indicado que não se reproduzisse literalmente a interface que você usava em uma aplicação desktop.

Em particular, telas de confirmação não deveriam ser feitas, a menos que estritamente necessário - por exemplo, em vez de perguntar se desejava salvar um arquivo, o indicado era djá deixá-lo salvo sempre - e em particular também não havia esse esquema de ter um dialog box com “OK” ou “Cancelar”.

Não sei quais são as diretrizes de interface do Android.

Eu tenho um exemplo aqui ve se te serve:

No seu XML fica assim:

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

<Button
    android:id="@+id/buttonAlert"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Confirmar Saída" />

[/code]

E na sua activity fica assim:

[code]import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

final Context context = this;
private Button button;

public void onCreate(Bundle savedInstanceState) {

	super.onCreate(savedInstanceState);
	setContentView(R.layout.main);

	button = (Button) findViewById(R.id.buttonAlert);

	button.setOnClickListener(new OnClickListener() {

	@Override
	public void onClick(View arg0) {

		AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
			context);

		alertDialogBuilder.setTitle("Titulo");

		alertDialogBuilder
			.setMessage("Pressione SIM para sair!")
			.setCancelable(false)
			.setPositiveButton("Sim",new DialogInterface.OnClickListener() {
				public void onClick(DialogInterface dialog,int id) {
					// se sim for clicado ele fecha a
					// activity atual
					MainActivity.this.finish();
				}
			  })
			.setNegativeButton("Não",new DialogInterface.OnClickListener() {
				public void onClick(DialogInterface dialog,int id) {
					// se não for precionado ele apenas termina o dialog
					// e fecha a janelinha
					dialog.cancel();
				}
			});

			AlertDialog alertDialog = alertDialogBuilder.create();

			alertDialog.show();
		}
	});
}

}[/code]

No caso o que eu fiz eu criei um SIM que termina uma activity mas você pode personalizar o metodo.

O AlertDialog do Android é similar ao JOptionPane do Swing:

http://developer.android.com/guide/topics/ui/dialogs.html

[quote=eliangela]O AlertDialog do Android é similar ao JOptionPane do Swing:

[code]
AlertDialog alert = new AlertDialog.Builder(context).setMessage(“Deseja sair do sistema?”).
setPositiveButton(“Sim”, new OnClickListener() {

public void onClick(DialogInterface arg0, int arg1) {
	//faz algo quando clicar SIM
	arg0.dismiss();
}

}).setNegativeButton(“Não”, new OnClickListener() {

public void onClick(DialogInterface arg0, int arg1) {
	//faz algo quando clicar NAO
	arg0.dismiss();
}

}).setCancelable(false).create();

alert.show();
[/code][/quote]

vish se vai se prestar a postar pelo menos agrega algo que o post anterior não tenha explicado ao invés de comentar a mesma coisa.

Desculpa, ae! Não tinha visto sua classe, vi somente o XML.

Eliangela e Leobmx muito obrigado pela dicas de como usar estes botão de sim ou não
Leobmx eu fui colocar sua aplicação para testar e deu certo.
Leobmx sua dica no site http://developer.android.com/guide/topics/ui/dialogs.html#top
É muito bom tb, pq lá tem vários exemplo de como fazer varia coisa legais, alem desta opção que eu pedi ajuda.
caso não de certo estas suas dicas no meu programa, eu coloco ele inteiro para vcs olharem e ver onde que eu erei, pode ser.

OBRIGADO AOS DOIS :thumbup: e aos outros tb, agora se outros tiverem mais dicas elas serão bem vindas. :lol: :lol: :lol:

opa, desculpa ai não testei isso apenas copiei de um txt q eu tinha aqui tava no trampo a hora q postei, amanha eu posso postar corrigido pra ti ja q vc não conseguiu arrumar!

Dei uma mudada aqui criei um projeto novo no eclipse e funcionou certinho, vou postar exatamente a minha classe e meu xml até com o package e também vou postar o manifest derrepente é a versão ou algo assim, aí vai:

main.xml

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

[/code]

TesteActivity.java

[code]package com.teste.android;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class TesteActivity extends Activity {

final Context context = this;  
private Button button;  

public void onCreate(Bundle savedInstanceState) {  

    super.onCreate(savedInstanceState);  
    setContentView(R.layout.main);  

    button = (Button) findViewById(R.id.buttonAlert);  

    button.setOnClickListener(new OnClickListener() {  

    public void onClick(View arg0) {  

        AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(  
            context);  

        alertDialogBuilder.setTitle("Confirmar saída");  

        alertDialogBuilder  
            .setMessage("Deseja realmente sair?")  
            .setCancelable(false)  
            .setPositiveButton("Sim",new DialogInterface.OnClickListener() {  
                public void onClick(DialogInterface dialog,int id) {  
                    // se sim for clicado ele fecha a  
                    // activity atual  
                    TesteActivity.this.finish();  
                }  
              })  
            .setNegativeButton("Não",new DialogInterface.OnClickListener() {  
                public void onClick(DialogInterface dialog,int id) {  
                    // se não for precionado ele apenas termina o dialog  
                    // e fecha a janelinha  
                    dialog.cancel();  
                }  
            });  

            AlertDialog alertDialog = alertDialogBuilder.create();  

            alertDialog.show();  
        }  
    });  
}  

} [/code]

AndroidManifest.xml

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

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

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:label="@string/app_name"
        android:name=".TesteActivity" >
        <intent-filter >
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

[/code]

aqui pra mim funcionou da uma olhada:

Pra facilitar pra você criei um metodo e um button ai pra ti:

Aqui o xml:

<Button android:id="@+id/btn_background" android:layout_width="100dip" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_marginTop="150dip" android:onClick="confirmar" android:text="Confirmar" />

Aqui o metódo:

[code]
public void confirmar(View v) {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);

	alertDialogBuilder.setTitle("Você está saindo");

	alertDialogBuilder.setMessage("Deseja realmente sair?")
					  .setCancelable(false)
					  .setPositiveButton("Sim", new DialogInterface.OnClickListener() {
						public void onClick(DialogInterface dialog, int id) {
							//sua action para sim
						}
					}).setNegativeButton("Não",	new DialogInterface.OnClickListener() {
						public void onClick(DialogInterface dialog, int id) {
                                                           //action para "não" ou apenas fechar a janela
							dialog.cancel();
						}
					});

	AlertDialog alertDialog = alertDialogBuilder.create();

	alertDialog.show();
}[/code]

No botão eu setei o onClick para o metódo confirmar, espero ter ajudado abraço!

Leobmx muito obrigado pela sua código fonte me ajudou muito muito muito. e deu para eu ter uma ideia para poder colocar ele no meu aplicativo
obrigado mesmo :thumbup: :thumbup: :thumbup: :thumbup: