CAC*_*lan 15 android android-fragments android-3.0-honeycomb
我正在使用兼容性库将现有应用转换为Fragments API.我已经读过你应该更新将Activity扩展到现在使用FragmentActivity的类.这对大多数情况都很好,但是扩展ListActivity或MapActivity的类呢?处理这个问题的首选方法是什么?我希望有一个ListFragmentActivity或类似的东西,但我没有看到一个.
bma*_*pin 12
这是我将ListActivity转换为片段API时所做的事情:
替换lv = getListView();
为lv = (ListView) findViewById(android.R.id.list);
替换setListAdapter(adapter);
为lv.setAdapter(adapter);
如果您已覆盖onListItemClick()
,请将其替换为lv.setOnItemClickListener(new ListView.OnItemClickListener() {...
您必须手动设置空视图(显示没有结果时): lv.setEmptyView(findViewById(android.R.id.empty));
如果我正在使用CursorLoader,我通常把它放在onLoadFinished()中:
// if there are no results
if (data.getCount() == 0) {
// let the user know
lv.setEmptyView(findViewById(android.R.id.empty));
} else {
// otherwise clear it, so it won't flash in between cursor loads
lv.setEmptyView(null);
}
Run Code Online (Sandbox Code Playgroud)说到游标加载器,我还会将活动转换为使用CursorLoader,如果还没有那么
至少对于ListActivity,您可以将其更改为FragmentActivity(仍在实现OnItemCLickListener)并替换:
lv = getListView()到lv =(ListView)findViewById(R.id.your_list_view_id)
和
setListAdapter(favAdapter)到lv.setAdapter(适配器)
有一个ListFragment:http://developer.android.com/reference/android/app/ListFragment.html
对于MapActivity,遗憾的是你需要继续使用它; 它没有Fragment API.
归档时间: |
|
查看次数: |
7858 次 |
最近记录: |