您的位置:首页 > 其它

1.4 显示对话框窗口---Dialog

2016-04-21 11:02 295 查看


经常会需要显示对话框窗口,以便从用户那里得到确认。这是,可以重写Activity基类中定义的受保护的onCreateDialog()方法来显示对话框窗口。

新建一个android项目,将其命名为Dialog。在mian.xml文件中添加Btton:

<RelativeLayout 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"

    tools:context=".MainActivity" >

    <Button

        android:id="@+id/btn_dialog"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="Click to diaplay a dialog" 

        android:onClick="onClick"/>

  

</RelativeLayout>

MainActivity.java:

package com.example.dialogg;

import android.os.Bundle;

import android.app.Activity;

import android.app.AlertDialog;

import android.app.Dialog;

import android.content.DialogInterface;

import android.view.View;

import android.widget.Toast;

public class MainActivity extends Activity {
CharSequence[] items={"Google","Apple","Microsoft"};
boolean[] itemsChecked=new boolean[items.length];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@SuppressWarnings("deprecation")
public void onClick(View v){
showDialog(0);
}

/**要显示一个对话框首先要实现Activity类中的onCreateDialog()方法
* onCreateDialog()是一个用于创建由活动管理的对话框的回调方法,当调用showDialog()方法时,将回调这个方法。
* showDialog()方法接受一个整型参数,用来表示显示的对话框。

* */
@SuppressWarnings("deprecation")
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case 0:
//要创建对话框,需要使用AlertDialog类的Builder构造函数来设置不同的属性,例如:图标,标题,按钮
return new AlertDialog.Builder(this)
.setIcon(R.drawable.ic_launcher)
.setTitle("This is a dialog with some simple text...")
//设置ok按钮
.setPositiveButton("ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getBaseContext(), "OK clicked!", Toast.LENGTH_SHORT).show();
}
})
//设置取消按钮
.setNegativeButton("cacle", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getBaseContext(), "Cancel chlicked", Toast.LENGTH_SHORT).show();
}
})
//设置复选框列表
/**setMultiChoiceItems()方法需要传入两个数组,一个是要显示的项列表,另一个包含了表明每个项是否被选中的值。*/
.setMultiChoiceItems(items, itemsChecked, new DialogInterface.OnMultiChoiceClickListener() {

@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
Toast.makeText(getBaseContext(), items[which]+(isChecked?" checked!":" unchecked!"), Toast.LENGTH_SHORT).show();

}
}).create();

}
return null;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: