ApiDemos类的onCreate方法的学习

无简介

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/**
* 在getIntent()中是这么写的【Return the intent that started this activity】
* 现在猜测应该是//FIXME 从别的activity回到这里的时候,可能会带回一个数据,也就是下面的path
*/
Intent intent = getIntent();
String path = intent.getStringExtra(“com.example.android.apis.Path”);
/**
* 这里的path就是上面可能通过intent带过来的,但是也有可能没有(启动程序的时候)
*/
if (path == null) {
/**
* 为空置为空字符串
*/
path = “”;
}
/**
* ListActivity的方法,源代码的注释是【Provide the cursor for the list
* view.】英文不好就不献丑了。进入内部发现他最终还是调用了【mList.setAdapter(adapter)】,
* 而这个adapter就是我们在下面传入进去的adapter 本方法类似于我们平常写的:
* mListView.setAdapter(mAdapter);
*
* 满头汗水阅读了SimpleAdapter的源码注释:
*
* @param 第1个参数context
* 是指与当前adapter有关的在运行中的view的上下文
* @param 第2个参数data
* 是一个由好多map构成的一个list
* ,这个list中的每一个条目都相当于要在界面上面显示的一行,所有要显示的数据都存在所有的这些maps中,
* 而且每一个map都必须要包含第四个参数中的key值
* getData()返回的数据中的一部分,其中就包括"title"【[{intent=Intent {
* cmp=com.example.android.apis/.ApiDemos (has extras) },
* title=Accessibility}, {intent=Intent {
* cmp=com.example.android.apis/.ApiDemos (has extras) },
* title=Animation}]】
* @param 第3个参数resource
* 是一个资源文件 ,资源文件中的id必须包括参数5中所提供的
* @param 第4个参数
* 指listview中的每一项中获取那个列 (字段)的值
* @param 第5个参数
* 指从第4个参数上面获得的数据要放在资源文件的那个id上面
*/
setListAdapter(new SimpleAdapter(this, getData(path), android.R.layout.simple_list_item_1, new String[] { “title” }, new int[] { android.R.id.text1 }));
/**
* @param 第一部分
* getListView()是ListActivity中的一个方法,用来获得内置的mListView。 在这个过程中,
* 他对这个listview进行了确认,如果在ListActivity中mListView是空的,他会调用
* {@codesetContentView(com.android.internal.R.layout.list_content_simple);}
* 而在list_content_simple .xml文件中包括
* {@codeandroid:id=“@android:id/list”}
* 在ListActivity中是根据这个id来找到mListView的【mList =
* {@code(ListView)findViewById(com.android.internal.R.id.list);】}
*
* @param 第二部分
* mListview.setTextFilterEnabled(true) 这个方法的作用是用来过滤选项的.
* 例如在软键盘上打出一个a,则会过滤掉除了a开头的所有选项.
*/
getListView().setTextFilterEnabled(true);
}

-------------本文结束  感谢您的阅读-------------
下次一定