写了几个对话框的dome,这里放在这里帮助自己记忆
package com.example.button2;
import java.util.Calendar;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.content.DialogInterface;
import android.content.DialogInterface.OnMultiChoiceClickListener;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.Toast;
public class MainActivity extends ActionBarActivity {
private final CharSequence[] items={"深圳","上海","北京"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button1= (Button) findViewById(R.id.button1);
Button button2= (Button) findViewById(R.id.button2);
Button button3= (Button) findViewById(R.id.button3);
Button button4= (Button) findViewById(R.id.button4);
Button button5= (Button) findViewById(R.id.button5);
Button button6= (Button) findViewById(R.id.button6);
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
// alertdialog.builder可以理解成是对话框的一个管理器,用于设置对话框的属性
builder.setTitle("dialog1");
builder.setMessage("are you sure");
builder.setPositiveButton("yes" , new android.content.DialogInterface.OnClickListener() {
// 这里有个大坑,这里要导入alertdialogOnclicklistener的包,不要导错了
// 而且当你导对的时候也会报错,因为和前面那个view.onclicklistener的包冲突了
// 这时就要把名字写全android.content.DialogInterface.OnClickListener,就搞定了
@Override
public void onClick(DialogInterface dialog, int which) {
}
// 这里面可以实现你用户的需求
});
AlertDialog alertdialog=builder.create();
// builder.create()方法的返回值是一个alertdialog,所以这里声明一个alertdialog来接收返回值
// 然后在下面收出来就可以了
alertdialog.show();
}
});
button2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder2=new AlertDialog.Builder(MainActivity.this);
builder2.setTitle("选择一个城市");
// 注意,显示列表的时候不能设置message
builder2.setItems(items, new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 这里传入的参数int which是列表的对应的值从0开始
CharSequence selectitem=items[which];
Toast.makeText(MainActivity.this,"你选的是"+selectitem, 3).show();
}
});
AlertDialog alertdialog=builder2.create();
alertdialog.show();
}
});
button3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder3=new AlertDialog.Builder(MainActivity.this);
builder3.setTitle("选择一个城市");
builder3.setSingleChoiceItems(items, -1, new android.content.DialogInterface.OnClickListener() {
// 第二个参数是选择默认选择的item,-1表示为没有item被选上
@Override
public void onClick(DialogInterface dialog, int which) {
CharSequence selectitem=items[which];
Toast.makeText(MainActivity.this,"你选的是"+selectitem, 3).show();
}
});
AlertDialog alertdialog=builder3.create();
alertdialog.show();
}
});
button4.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder4=new AlertDialog.Builder(MainActivity.this);
builder4.setTitle("选择一个城市");
builder4.setMultiChoiceItems(items, new boolean[] {false,true,false}, new OnMultiChoiceClickListener() {
// 第二個參數是设置默认选择的item,现在是第二个被选择,如果写成null就全部没有选上
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
CharSequence selectitem=items[which];
Toast.makeText(MainActivity.this,"你选的是"+selectitem, 3).show();
}
});
builder4.setPositiveButton("确定", new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
AlertDialog alertdialog=builder4.create();
alertdialog.show();
}
});
button5.setOnClickListener(new OnClickListener() {
Calendar c=Calendar.getInstance();
// 这个东西可以获取手机现在的时间
@Override
public void onClick(View v) {
DatePickerDialog datedialog=new DatePickerDialog(MainActivity.this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
Toast.makeText(MainActivity.this,"year"+year, 3).show();
}
}, c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH));
datedialog.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;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}