android studio局部变量冗余

时间:2015-07-09 17:19:34

标签: java android android-fragments

有人可以向我解释为什么它会给我“局部变量是多余的错误”吗?

package com.example.smite.floater;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import java.util.zip.Inflater;

public class creator extends Fragment {

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater,@Nullable ViewGroup container,@Nullable Bundle savedInstanceState) {
        return super.onCreateView(inflater, container, savedInstanceState);
        View v = inflater.inflate(R.layout.creator ,container,false);
        return v;
    }
}

一开始,它只是R上的一个不同的错误 但是在我改变了xml这个发生之后

2 个答案:

答案 0 :(得分:1)

在你的方法中,你是:

  • 返回一个值,然后创建一个变量。这是一个错误,因为此代码永远不会运行

  • 您正在创建一个未使用的变量

您的代码:

public View onCreateView(LayoutInflater inflater,@Nullable ViewGroup container,@Nullable Bundle savedInstanceState) {
        return super.onCreateView(inflater, container, savedInstanceState);
        // It is after a return statement! 
        View v = inflater.inflate(R.layout.creator ,container,false);
        //You are creating a variable which is not being used
        return v;
    }

使用:

public View onCreateView(LayoutInflater inflater,@Nullable ViewGroup container,@Nullable Bundle savedInstanceState) {
        return inflater.inflate(R.layout.creator ,container,false);
    }

答案 1 :(得分:0)

在android中分配或创建较少的对象是一个很好的做法。在您的情况下,您正在分配一个未使用的View对象。

使用

return inflater.inflate(R.layout.creator ,container,false);

而不是

View v = inflater.inflate(R.layout.creator ,container,false);
        return v;