Android学习笔记(四)

今天将好好分以下关于Android的对话框的问题和在Android中使用ListView遇到的一些问题。

一、关于对话框我们并不陌生(Dialog),但是对于Android中的Dialog也是使用起来十分的方便,就只是调用一个名为AlertDialog的类。

在使用中可以这么写

new AlertDialog.Builder(Context context).setTitle("我是标题").setMessage("提示信息").setPositiveButton("确定",new DialogInterface.onClickListener()
{
onClick(View v) {
				// TODO Auto-generated method stub
				new AlertDialog.Builder(DialogDemo.this).setTitle("输入对话框").setIcon(R.drawable.icon).setView(new EditText(DialogDemo.this)).setPositiveButton("确定",new DialogInterface.OnClickListener() {
					
					public void onClick(DialogInterface dialog, int which) {
						// TODO Auto-generated method stub
						dialog.dismiss();
					}
				}).setNegativeButton("取消", new DialogInterface.OnClickListener() {
					
					public void onClick(DialogInterface dialog, int which) {
						// TODO Auto-generated method stub
						dialog.dismiss();
					}
				}).show();
			}
			
		});

这个就实现了一个简单的确定对话框,我们来分析一下,系统调用AlertDialog类的.Builder()方法来创建一个最简单的标题,虽说是简单,但是五脏俱全,设置标题,设置提示信息,设置图标,设置按钮全部具有。如果大家需要更加复杂的对话框,就完全可以在其基础上扩展。

在此之前我也是参照的别人的对话框源码进行学习,本来想建立一个输入的对话框在哪里调用方法.setView(new EditText(Context context)),再次一定要注意这个context即上下文这个上下文的定义一定要基于当前的Activity,书写格式为

.setView(new EditText(类名.this)).show();

再看别人的源代码中别人写的是

new AlertDialog.Builder(self)
.setTitle("确认")
.setMessage("确定吗?")
.setPositiveButton("是", null)
.setNegativeButton("否", null)
.show()

这样写我试过了报错呀,坑爹呀,那个self并不是系统的常量,我们还是规规矩矩的写成 类名.this的形式绝对正确。

还有我还要再次说明一下一些关于ListView中使用到的一些类的情况,

在正常使用ListView的时候,会常常使用

ListView.setAdapter(new Adapter<?>(Context,int layout,List<?>))

但是有时候我们需要扩展的时候我们还可能用到SimpleAdapter类,SimpleCursorAdapter类,这些时候我把网上搜到的一些资源再次跟大家分享一下:

SimpleAdapter类使用方法

SimpleAdapter的构造函数是:

public SimpleAdapter (Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to)

官方说明了其各个参数含义,我这里根据自己的理解解释下:

第一个context,很明显大家根据英文可以知道是上下文的意思,它官方的意思是:SimpleAdapter所要运行关联到的视图,这个是什么呢?就是你这个SimpleAdapter所在的Activity(一般而言),所以这个参数一般是“前Activity的名字.this”

第二个是一个泛型只要是一个List就行,这一般会想到是ArrayList,而他内部存储的则是Map或者继承自Map的对象,比如HashMap,这些语法都是Java的基本语法,不再详述了!这里呢是作为数据源,而且每一个ArraList中的一行就代表着呈现出来的一行,Map的键就是这一行的列名,值也是有列名的。

第三个资源文件,就是说要加载这个两列所需要的视图资源文件,一般在Layout建立相应的.xml文件,你可以左边一个TextView右边一个TextView,目的在于呈现左右两列的值!

第四个参数是一个String数组,主要是将Map对象中的名称映射到列名,一一对应

第五个是将第四个参数的值一一对象的显示(一一对应)在接下来的int形的id数组中,这个id数组就是LayOut的xml文件中命名id形成的唯一的int型标识符

这样也就达到了数据的列表呈现!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值