今天被面试的HR搞郁闷了,基础的问题没打上来,悲剧。
看了apidoc之后,又度娘了一下,大彻大悟。下面的文章很清晰,推荐!!!
转自 http://marshal.easymorse.com/archives/2950
非常好的文章,看过请转!
方法一
1.继承ListAcvitity类。
2.需要注意的是在ListActivity的清单文件中,需要包含一个id为android:list的listview组件,具体:<ListView android:id=”@/android:list …./>
3.创建ArrayAdapter (关键在这里,注意构造函数的形式,如:ArrayAdapter(Contetxt context,int resource,T[] objects)
4.调用ListActivity的setListAdapter()方法显示列表项。
方法二
1.调用getContentResolver()方法返回ContentResolver对象,通过该对象查询得到Cursor对象。
2.创建SimpleCursorAdapter对象。
3.调用ListActivity的setListAdapter()方法显示列表项。
导航栏的按钮,右边的按钮是可以自己随意添加的。但左边的返回按钮怎么定制?你会说,添加一个自己的按钮呗!你可以试试看,这样行不行。
正确的答案是重载UINavigationController类的pushViewController:animated方法。
#import <UIKit/UIKit.h>
@interface MyNavigationController: UINavigationController {
}
@end
#import "MyNavigationController.h"
@implementation MyNavigationController
-(void)popself
{
[self popViewControllerAnimated:YES];
}
-(UIBarButtonItem*) createBackButton
{
return [[UIBarButtonItem alloc]
initWithTitle:@"返回"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(popself)];
}
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
{
[super pushViewController:viewControlleranimated:animated];
if (viewController.navigationItem.leftBarButtonItem== nil && [self.viewControllers count] > 1) {
viewController.navigationItem.leftBarButtonItem =[self createBackButton];
}
}
@end
使用MyNavigationController替换UINavigationController。或者直接创建一个UINavigationController的新类别——不过,这招太毒了。会影响到所有的导航控制器。做人还是留一线的好。
作者:kmyhy的专栏