1 menu
onCreateOptionsMenu(Menu menu);
onOptionsItemSelected(MenuItem item); onMenuItemSelected(int featuredId,MenuItem item);
ContextMenu:
onCreateContextMenu(ContextMenu menu,View v,ContextMenuInfo menuInfo);
onContextItemSelected(MenuItem);
-------------------------------------------------------------------------------------------------------------------------
2 Intent Activity
(1) intent.putExtra(KEY,value);startActivity(intent,int);
(2) getIntent();setResult(int,intent);finish();
(3) onActivityResult(int,int,Intent);
-------------------------------------------------------------------------------------------------------------------------
3 ListView
3.1 Adapter是将数据绑定到UI界面上的桥接类。Adapter负责创建显示每个项目的子View和提供对下层数据的访问。
(1)ArrayAdapter 适用于数据时一般数组时
ArrayAdapter的重要方法:
static ArrayAdapter<CharSequence> createFromResource(Context context, int textArrayResId, int textViewResId)
引用外部资源来创建一个ArrayAdapter (/res/values/数组)
最后一个参数是:android.R.layout.simple_spinner_item
setDropDownViewResource(int resource)
是布局资源创建下拉列表视图(Sets the layout resource to create the drop down views.)
参数是:android.R.layout.simple_spinner_dropdown_item
构造方法:
ArrayAdapter(Context context, int textViewResourceId, T[] objects)
(2)SimpleAdapter:适用于数据时一个list,而list中每一项又是一个Map时
构造方法:SimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to)
resource代表Listview 中每个行框(item)的布局文件索引.就是那个.xml 中在R.Layout. # 那个整数.用这个.xml描述了每个Item的外表.
from 是map中的键,该数组指明了要取map里的哪个值。因为map是个键值对,你传进去键值,系统会自动给你找到他的值.
to 用来指明你从map里取的这写值如何和这个xml匹配,一般建议这个xml里有几个textview. 把这几个控建的ID传进去就好了.
(系统的layout两项可以用来显示获取的值android.R.id.text1 , android.R.id.text2)
(3)SimpleCursorAdapter:适用于数据是从数据库中查询Cursor
SimpleCursorAdapter notes = new SimpleCursorAdapter(this, R.layout.notes_row, mNotesCursor, from, to);
3.2 ListView
setAdaper(adapter);
setOnItemClickListener();
setOnItemSelectListener();
3.3 ListActivity
(1)必须有一个layout文件与之对应。<ListView android:id="@id/android:list"><TextView android:id="@id/android:empty">
(2)单击监听器 onListItemClick(ListView,View,int position,long id)
(3)可注册ContextMenu--->registerForContextMenu(getListView());
-------------------------------------------------------------------------------------------------------------------------
4 Dialog
showDialog(int id):
在某个地方调showDialog();Activity会调用onCreateDialog(id),然后是onPrepareDialog(id,Dialog dialog);
Dialog生成方式:
(1)AlertDialog:使用AertDialog.Builder来生成 //都是有当前Activity构造
创建一个AlertDialog.Builder对象,
然后设置icon,设置title,设置message,设置各个按钮(显示内容,监听器) //监听器:DialogInterface.OnClickListener()
最后调用builder.create()方法,返回一个Dialog对象
(2)ProgressDialog:不再需要使用builder构造。直接构造就可以 //需要当前Activity
也可以在某个要showDialog()的地方用这个替换
new AlertDialog.Builder(MyDialog.this).setTitle("Android 提示").setMessage("这是一个提示,请确定").show();
-------------------------------------------------------------------------------------------------------------------------
5 notification和Toast
//其中notificationManager=(NotificationManager)getSystemService(NOTIFICATION_SERVICE);
protected void showNotification() {
Notification nt=new Notification(R.drawable.icon,"标题",System.currentTimeMillis());
PendingIntent pin=PendingIntent.getActivity(this,0,new Intent(),0);
nt.setLatestEventInfo(this, "展开后的标题", "展开后的内容", pin);
manager.notify(1, nt);
}
2 toast
new Toast(Context);
setView(View);
setDuration(); //Toast.LENGTH_LONG;Toast.LENGTH_SHORT
show() //方法
或者Toast.makeText(context,"显示内容",Toast.LENGTH_LONG).show();