80,471
社区成员




<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<!-- 定义一个按钮 -->
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="显示对话框"
android:layout_gravity="center_horizontal"
android:onClick="click"
/>
<!-- 定义一个单选按钮 -->
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="显示单选按钮对话框"
android:layout_gravity="center_horizontal"
android:onClick="singleclick"
/>
</LinearLayout>
package com.example.dialogtest;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.text.AlteredCharSequence;
import android.view.Menu;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void singleclick(View v) {
//1、 创建AlertDialog. Builder对象, Builder类是AlertDi alog的内部类
AlertDialog. Builder builder = new AlertDialog . Builder(this);
//2.调用AlertDialog. Builder的方法为对话框设置图标
builder.setIcon(R. drawable.ic_launcher); //设置图标
//创建单选按钮显示的内容
String[] items ={"boy","girl"};
//builder.setSingleChoiceItems(irems,默认选择了哪一个,当单击要执行的事件)
builder.setSingleChoiceItems(items, 0, null);
//3、调用AlertDialog. Builder的create( )方法创建AlertDialog对话框
AlertDialog dialog = builder. create();
//4、调用AlertDialog的show( )方法显示对话框
dialog. show();
}
public void click(View v){
//1、 创建AlertDialog. Builder对象, Builder类是AlertDi alog的内部类
AlertDialog. Builder builder = new AlertDialog . Builder(this);
//2.调用AlertDialog. Builder的方法为对话框设置图标、标题、内容
builder.setIcon(R. drawable.ic_launcher); //设置图标
builder.setTitle( "提示对话框");//设置标题
builder.setMessage( "我是你的小可爱呀! ! ");//设置内容
//为对话框设置一个"确定"按钮 --第二个参数表示当前用户选择"确定"时要执行的事件
//当按下确定时执行类A中的onClick方法
builder.setPositiveButton("确定", new A());
//为对话框设置一个"取消"按钮
builder.setNegativeButton("取消", new B());
//3、调用AlertDialog. Builder的create( )方法创建AlertDialog对话框
AlertDialog dialog = builder. create();
//4、调用AlertDialog的show( )方法显示对话框
dialog. show();
}
//创建监听器来监听用户按下确定键
@SuppressLint("ShowToast")
class A implements OnClickListener{
@Override
public void onClick(DialogInterface arg0, int arg1) {
// Toast Auto-generated method stub
//makeTest(this,要显示的文本信息,信息显示的时长)
//信息时长有两项选择:1.Toast.LENGTH_SHORT 2.Toast.LENGTH_LONG
Toast toast = Toast.makeText(MainActivity.this, "您按下了确定", Toast.LENGTH_SHORT);
toast.show();
}
}
//创建监听器来监听用户按下取消键
@SuppressLint("ShowToast")
class B implements OnClickListener{
@Override
public void onClick(DialogInterface arg0, int arg1) {
// Toast Auto-generated method stub
//makeTest(this,要显示的文本信息,信息显示的时长)
//信息时长有两项选择:1.Toast.LENGTH_SHORT 2.Toast.LENGTH_LONG
Toast toast = Toast.makeText(MainActivity.this, "您按下了取消", Toast.LENGTH_SHORT);
//注意:MainActivity.this,为什么要加MainActivity的原因--
toast.show();
}
class C implements OnClickListener{
@Override
//第二个参数表示拥护单击的是第几个单选按钮
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
if(which == 0){
//makeTest(this,要显示的文本信息,信息显示的时长)
//信息时长有两项选择:1.Toast.LENGTH_SHORT 2.Toast.LENGTH_LONG
Toast toast = Toast.makeText(MainActivity.this, "您选择了男性", Toast.LENGTH_SHORT);
toast.show();
}else{
//makeTest(this,要显示的文本信息,信息显示的时长)
//信息时长有两项选择:1.Toast.LENGTH_SHORT 2.Toast.LENGTH_LONG
Toast toast = Toast.makeText(MainActivity.this, "您选择了女性", Toast.LENGTH_SHORT);
toast.show();
}
}
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}