温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

解决横纵屏问题、得到系统通讯录数据的方法

发布时间:2020-07-20 11:52:45 来源:网络 阅读:470 作者:xiaoyusong 栏目:开发技术

   两个很简单的小问题,但又容易忘记,所以在此记录一下:

   一、解决横纵屏问题:

   android系统默认设置下,切换屏幕方向时,生命周期方法会被重新调用一次,如,当把横屏切换成纵屏时,activity会分别调用以下方法:onPause()- onStop()- onDestroy() - onCreate() - onStart() - onResumn()。所以这样就会导致界面被重新加载一次,影响性能。

   解决这个问题,需要在清单文件里设置activity的属性:

    android:configChanges="orientation|keyboardHidden"

   若想要自己设置屏幕方向,则是:android:screenOrientation="portrait",

    portrait :纵屏

    landscape:横屏

    sensor   :显示的方向由方向传感器决定的(两个方向)

    fullSensor:显示的方向由方向传感器决定的(四个方向)


    二、获取系统通讯录数据:

       //获取内容解析者

       ContentResolver resolver = getContentResolver();

       //通过内容解析者去查询系统联系人

       Cursor cursor = resolver.query(Phones.CONTENT_URI, null, null, null, null);    

       String[] from = new String[]{Phones.NAME,Phones.NUMBER};

       int[] to = new int[]{R.id.textView1,R.id.textView2};

       SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.item_list,

       cursor, from, to);

       mListView.setAdapter(adapter);


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI