【问题标题】:Error while compiling android example for GridView为 GridView 编译 android 示例时出错
【发布时间】:2015-12-23 12:16:58
【问题描述】:

我正在尝试为 GridView 编写一个简单的适配器,完全来自 GridView 的谷歌示例;这是我的 getView 函数。

public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imageView;

        if (convertView == null) {
            imageView = new ImageView(mContext);
            imageView.setLayoutParams(new GridLayout.LayoutParams(120,120));
            imageView.setScaleType(ImageView.ScaleType.CENTER);
            imageView.setPadding(2, 2, 2, 2);
        }
        else
        {
            imageView = (ImageView) convertView;
        }
        imageView.setImageResource(mThumbIds[position]);
        return imageView;
    }

但是我在imageView.setLayoutParams(new GridLayout.LayoutParams(120,120));这一行遇到了一些这样的错误

Error:(39, 39) error: no suitable constructor found for LayoutParams(int,int)
constructor android.widget.GridLayout.LayoutParams.android.widget.GridLayout.LayoutParam (Context,AttributeSet) is not applicable
(actual argument int cannot be converted to Context by method invocation conversion)
constructor android.widget.GridLayout.LayoutParams.android.widget.GridLayout.LayoutParams(android.widget.GridLayout.LayoutParams) is not applicable
(actual and formal argument lists differ in length)
constructor android.widget.GridLayout.LayoutParams.android.widget.GridLayout.LayoutParams(MarginLayoutParams) is not applicable
(actual and formal argument lists differ in length)
constructor android.widget.GridLayout.LayoutParams.android.widget.GridLayout.LayoutParams(android.view.ViewGroup.LayoutParams) is not applicable
(actual and formal argument lists differ in length)
constructor android.widget.GridLayout.LayoutParams.android.widget.GridLayout.LayoutParams() is not applicable
(actual and formal argument lists differ in length)
constructor android.widget.GridLayout.LayoutParams.android.widget.GridLayout.LayoutParams(Spec,Spec) is not applicable
(actual argument int cannot be converted to Spec by method invocation conversion)

有什么解决办法吗?

【问题讨论】:

    标签: android gridview layout layoutparams getview


    【解决方案1】:

    检查以下代码:

    import android.widget.GridLayout.LayoutParams;//import this statement
    
    int dp = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 120, getResources().getDisplayMetrics()); 
    imageView.setLayoutParams(new LayoutParams(dp, dp));//120dp
    

    【讨论】:

      【解决方案2】:

      尝试删除 imageView.setLayoutParams(new GridLayout.LayoutParams(120,120));

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-01-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多