View v is unreachable 语句

Posted

技术标签:

【中文标题】View v is unreachable 语句【英文标题】:View v is unreachable statement 【发布时间】:2018-08-12 22:48:52 【问题描述】:

请帮助我。 这是错误还是警告? 我该如何解决这个问题? 错误是View v is unreachable statement

public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent)  
    return super.getView(position, convertView, parent); 
    View v; 
    v = convertView; 
    LayoutInflater li = LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    v = li.inflate(R.layout.custom_layout, null);
    TextView champ = (TextView)v.findViewById(R.id.textView); 
    TextView year = (TextView)v.findViewById(R.id.textView2);
    ImageView pic = (ImageView)v.findViewById(R.id.imageView);
    champ.setText(adaptArray.get(position).getChamp()); year.setText(adaptArray.get(position).getYear()); pic.setImageResource(adaptArray.get(position).getSport());

    return v;

【问题讨论】:

您的第一个return 语句将完全跳过该方法的其余部分。 我猜你在 View v 之前返回的未格式化的混乱; 删除此行return super.getView(position, convertView, parent)此语句使其余代码跳过。 很清楚。您的 `View v` 无法访问,因为在该行之前您使用了 return :return super.getView(position, convertView, parent); 第一条语句上的 return 将导致方法返回值并结束其范围。删除它,您的其余代码有望编译并运行。 【参考方案1】:

在 return 关键字之后写的其他任何内容都是无法访问的。 从函数的第一行删除 return super.getView(position, convertView, parent);

【讨论】:

【参考方案2】:

这是一个警告,告诉您对代码的静态分析表明您的某些代码将永远无法到达,因为该方法之前返回。

以下是将convertView 传递给super.getView(...) 来解决问题和正确使用super.getView(...) 的方法:

public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent)  

    View v = super.getView(position, convertView, parent); 
    if(v == null)
        LayoutInflater li = LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        v = li.inflate(R.layout.custom_layout, null);
    
    TextView champ = (TextView)v.findViewById(R.id.textView); 
    TextView year = (TextView)v.findViewById(R.id.textView2);
    ImageView pic = (ImageView)v.findViewById(R.id.imageView);
    champ.setText(adaptArray.get(position).getChamp()); 
    year.setText(adaptArray.get(position).getYear());    
    pic.setImageResource(adaptArray.get(position).getSport());

    return v;

【讨论】:

【参考方案3】:

删除这个

return super.getView(position, convertView, parent);

【讨论】:

请您补充一些详细信息 删除您的第一个退货声明。【参考方案4】:

因为方法的Top这行代码:return super.getView(position, convertView, parent);

当您从methodreturn 时,method内的其余代码不会运行。

【讨论】:

以上是关于View v is unreachable 语句的主要内容,如果未能解决你的问题,请参考以下文章

记录实时问题:java 出现unreachable statement异常

Centos7网络连接不上:Network is unreachable 解决方案

connect: Network is unreachable解决方法

Python 3.5 socket OSError: [Errno 101] Network is unreachable

6443: connect: network is unreachable

解决Jmeter插件ERROR: java.io.IOException: Agent is unreachable via TCP的错误