有人可以向我解释为什么它会给我“局部变量是多余的错误”吗?
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这个发生之后
答案 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;