移动应用开发 实验报告7 警告对话框单选项列表
一、实验目的 掌握警告对话框的创建方法; 掌握警告对话框中单选项列表的使用方法。 |
二、实验内容 使用警告对话框,完成水果选择的功能
|
三、实验原理 AlertDialog的六种创建方式,alertdialog六种
AlertDialog的六种创建方式
创建AlertDialog的步骤:
1、创建AlertDialog.Builder对象
2、调用Builder对象的setTitle方法设置标题,setIcon方法设置图标
3、调用Builder相关方法如setMessage方法、setItems方法、setSingleChoiceItems方法、setMultiChoiceItems方法、setAdapter方法、setView方法设置不同类型的对话框内容。
4、调用setPositiveButton、setNegativeButton、setNeutralButton设置多个按钮
5、调用Builder对象的create()方法创建AlertDialog对象
6、调用AlertDialog对象的show()方法将对话框显示出来
|
四、实验代码及结果
package com.example.luz;
import android.os.Bundle; import android.annotation.SuppressLint; import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.app.Dialog; import android.content.DialogInterface; import android.view.Menu; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; import android.view.*; @SuppressLint("WrongViewCast") public class MainActivity extends Activity { private Button mybut=null; private TextView mych=null; private String f[]=new String [] { "苹果","西瓜","水蜜桃" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.mybut=(Button) super.findViewById(R.id.mybut); this.mych=(TextView) super.findViewById(R.id.mych); this.mybut.setOnClickListener(new onClickListenerImpl()); }
private class onClickListenerImpl implements OnClickListener{ public void onClick(View view){ Dialog dialog=new AlertDialog.Builder(MainActivity.this) .setIcon(R.drawable.ic_launcher) .setTitle("请选择你喜欢吃的水果?") .setNeutralButton("取消", new android.content.DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog,int which){ } } ).setItems(MainActivity.this.f,new android.content.DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog,int which){ MainActivity.this.mych.setText("你选择的水果是:"+MainActivity.this.f[which]); } }).create(); dialog.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; }
}
<AbsoluteLayout 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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" >
<TextView android:id="@+id/mych" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" />
<Button android:id="@+id/mybut" android:layout_width="160dp" android:layout_height="160dp" android:layout_marginBottom="160dp" android:layout_x="78dp" android:layout_y="272dp" android:text="你选你马呢?" />
</AbsoluteLayout>
|
五、试验分析(思考) setSingleChoiceItems()设置对话框内容为单选列表项
// 创建数据 final String[] items = new String[] { "北京", "上海", "广州", "深圳" }; // 创建对话框构建器 AlertDialog.Builder builder = new AlertDialog.Builder(this); // 设置参数 builder.setIcon(R.drawable.ic_launcher).setTitle("提示") .setSingleChoiceItems(items, 0, new OnClickListener() {
@Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, items[which], Toast.LENGTH_SHORT).show(); } }); builder.create().show(); |