常见的情况有:
- 获取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)); } } });
本文详细介绍了在Android应用开发中如何在view未绘制完成的情况下获取其宽高,以及如何自动选中ListView的第一项。通过使用View.post(Runnable action)方法,可以在合适的时间点执行这些操作。
211

被折叠的 条评论
为什么被折叠?



