Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android如何获取gridview项目大小_Android - Fatal编程技术网

android如何获取gridview项目大小

android如何获取gridview项目大小,android,Android,我想在我的应用程序中获取GridView项目大小。我只知道我可以在回调中获取项目大小: private class GridViewItemSelectedListener implements OnItemSelectedListener { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long

我想在我的应用程序中获取GridView项目大小。我只知道我可以在回调中获取项目大小:

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       
       }
   }