常见的情况有:

  • 获取view的宽高
  • listview自动选中第一条记录

以上的情况,在Activity的onCreate或者Fragment的onCreateView中,由于view还未绘制完成,都无法实现。

此时可以利用View.post(Runnable action)方法实现。

例如:

  • 获取button的宽高

    final Button btnTest = (Button)findViewById(R.id.button);btnTest.post(new Runnable() {    @Override    public void run() {        int width = btnTest.getWidth();        int height = btnTest.getHeight();    }});
  • 自动选中ListView的第一项

    ListView lv = (ListView) findViewById(R.id.listview);lv.post(new Runnable() {    @Override    public void run() {        if (lv.getCount() > 0){            mSelectPos = 0;            View item = lv.getChildAt(mSelectPos);            item.setBackgroundColor(getResources().getColor(R.color.selected));        }    }});

更多相关文章

  1. android 精确定位
  2. Android网页WebView图片文件上传的问题
  3. android音乐播放器开发 SweetMusicPlayer 加载歌曲列表
  4. 二、获取wifi列表并连接wifi
  5. 使用android Camera MediaRecorder 的一些注意点
  6. android avd2.2获取街道信息:Geocoder, “the service is not ava
  7. Android—滑动ListView保存选中状态
  8. Android高德地图SDK的使用
  9. Android(安卓)获取APK编译时间

随机推荐

  1. android重写Dialog(接上文)
  2. android版本更新代码
  3. ProgressBar 样式
  4. android:persistentDrawingCache 的含义
  5. android java获取当前时间的总结
  6. Android如何使用XML创建一个环形渐变颜色
  7. android 操作sqlite数据库
  8. android 网络视频代码
  9. Android(Java):自定义控件
  10. android 自定义线程池ThreadPoolUtils工