android如何获取gridview项目大小
我想在我的应用程序中获取GridView项目大小。我只知道我可以在回调中获取项目大小:android如何获取gridview项目大小,android,Android,我想在我的应用程序中获取GridView项目大小。我只知道我可以在回调中获取项目大小: private class GridViewItemSelectedListener implements OnItemSelectedListener { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long
private class GridViewItemSelectedListener implements OnItemSelectedListener {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
// TODO Auto-generated method stub
int viewh = view.getHeight();
int vieww = view.getWidth();
Log.d(TAG, view.getWidth() + "," + view.getHeight() +
" > position:(" +view.getX() + " , " + view.getY() + ")");
}
}
我在onResume方法中触发了处理程序
@Override
protected void onResume() {
Message msg = new Message();
msg.what = UPDATE_GRIDVIEW;
mHandler.sendMessage(msg);
super.onResume();
}
我甚至试着调用GridView的方法getSelectedItem()等等,但也做不到。你能给我一些建议吗?原因是什么?以及如何获取gridview项目大小?我打算在活动中获取大小;获取大小后,我将根据GridView项目大小重置selectorView。谢谢
<GridView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchMode="columnWidth" />
<GridView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchMode="columnWidth" />
public class YourAdapter extends BaseAdapter {
int rowsCount;
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View itemView = convertView;
if (itemView == null) {
itemView = layoutInflater.inflate(R.layout.item_view, parent, false);
int height = parent.getHeight();
if (height > 0) {
LayoutParams layoutParams = itemView.getLayoutParams();
layoutParams.height = (int) (height / rowsCount);
} // for the 1st item parent.getHeight() is not calculated yet
}
}