(个人经验,仅供参考,错误之处,敬请谅解)
适配器(Adapter)
适配器定义了数据提供者的标准,提供了很多子类实现多种数据的提供手段。Android中常用的适配器有
- BaseAdapter:最基础的适配器,可以很方便的对适配器进行扩展
private class MyBaseAdapter extends BaseAdapter {
@Override
public int getCount() {
return names.length;
}
@Override
public Object getItem(int position) {
return names[position];
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
}
}
- ArrayAdapter:最为简单,只能展示一行字
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,data);
- SimpleAdapter:有最好的扩充性,可以自定义出各种效果
sadapter=new SimpleAdapter(this,data,R.layout.staritem_layout,
new String[]{"img","txt"}, //object
new int[]{R.id.item_img,R.id.item_tv}); //view.id
- SimpleCursorAdapter:SimpleAdapter对数据库的简单结合,可以方面的把数据库的内容以列表的形式展示出来。
在使用Spinner控件时,可以用entries属性设置下拉列表的值,也可以使用适配器。
android:entries="@array/view_spinner_values"
同时Spinner控件具有选项被选择监听器(OnItemSelectedListener),可以调用getSelectedItem()获取选中的值
而在使用AutoCompleteTextView 控件时则必须要用到适配器来搭配使用:
spring.xml:
<string-aray name="arrays">
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
</string-array>
adapter调用:
String[] selects = getResources.getStringArray(R.array.arrays);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,selects);
uiName.setAdapter(adapter); //uiName指所绑定的控件
提示信息(Toast)
Toast是Android中用来显示信息的一种机制,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失。可调用静态方法makeText创建来显示简单的文本,也可以自定义Toast。
Toast.makeText(context,text,duration),show();
使用以下方法进行自定义
toast.setView(view)
toast.setGravity(Gravity.CENTER,0,0) //位置、x偏移、y偏移
toast.setDuration(Toast.LENGTH_SHORT) //显示时间
toast.show() //进行显示
对话框(Dialog)
对话框一般是一个出现在当前Activity之上的一个小窗口,提供用户选择或提示确认等于当前界面相关的功能。常用的对话框有:警告对话框,进度条对话框,日期选择对话框,时间选择对话框等。其中警告对话框使用最为广泛(AlertDialog)
而AlertDialog通常使用builder进行自定义创建:
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("text");
View dialogView = LayoutInflater.from(MainActivity.this).inflate(R.layout.report,null);
builder.setView(dialogView);
builder.setNegativeButton("text", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.create().show();
这里给出的只是示例,builer.show()也可以显示对话框
create()方法返回一个dialog对象
第二次打开对话框,程序会崩溃,个人去找了解决办法,可惜并不适用于动态改动对话框界面(后续已解决)
注意点
在string.xml 文件中进行配置的时候,遇到了尖括号无法用反斜杠进行转义,需要用url编码:
" : " 或 "
’ :' 或 '
& :& 或 &
lt(<) :< 或<
gt(>) :> 或 >