LayoutInflater类型中的方法inflate(int,ViewGroup,boolean)不适用于参数(int,int,boolean)

时间:2013-12-04 14:48:51

标签: java android view imageview int

我正在尝试通过设置填充参数来解决上一个问题:

Thumbnail does not fill_parent as expected

然而,当我尝试实现答案中提供的修复时,我认为我没有正确实现它。当我尝试这样做时,我得到一个关于通胀参数的错误说明:LayoutInflater类型中的方法inflate(int,ViewGroup,boolean)不适用于参数(int,int,boolean)但是我不确定我应该使用确切的参数来解决这个问题,以便正确填充ImageView。

JAVA:

@Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if(convertView == null){
            convertView = mInflater.inflate(R.layout.activity_main, R.layout.list_item_user_video, false);
        }
        UrlImageView thumb = (UrlImageView) convertView.findViewById(R.id.userVideoThumbImageView);

        TextView title = (TextView) convertView.findViewById(R.id.userVideoTitleTextView); 
        final Video video = videos.get(position);
        thumb.setImageDrawable(video.getThumbUrl());
        title.setText(video.getTitle());

        return convertView;
    }

ERROR:

LayoutInflater类型中的方法inflate(int,ViewGroup,boolean)不适用于参数(int,int,boolean)

错误位置:

convertView = mInflater.inflate(R.layout.activity_main,R.layout.list_item_user_video,false);

3 个答案:

答案 0 :(得分:4)

inflate()的第二个参数需要是ViewGroup。您正在通过int。据推测,第二个参数应为parent

答案 1 :(得分:1)

您应该将parentview放在方法签名的第二个参数中 - 即

 mInflater.inflate(R.layout.activity_main, parent, false);

其中parent是ViewGroup

答案 2 :(得分:1)

当用户2365568指出时,您应该将parent作为root参数传递。其他答案表明您应该通过nullconvertView,这是错误的。

查看有关布局通胀的文章,以及root参数重要的原因:http://www.doubleencore.com/2013/05/layout-inflation-as-intended/