Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法对非静态方法进行静态引用-Android TabbedActivity_Java_Android - Fatal编程技术网

Java 无法对非静态方法进行静态引用-Android TabbedActivity

Java 无法对非静态方法进行静态引用-Android TabbedActivity,java,android,Java,Android,我是Java和Android开发新手,无法修复错误。我想用变量更改TextView的文本,但视图类是静态的。代码如下: public static class FirstTab extends Fragment { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = infl

我是Java和Android开发新手,无法修复错误。我想用变量更改
TextView
的文本,但视图类是静态的。代码如下:

    public static class FirstTab extends Fragment {

    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.first_tab, null);

        new Thread() {
            public void run() {

                MCQuery mcQuery = new MCQuery(serverAddress, 25565);
                QueryResponse response = mcQuery.basicStat();
                int Onlineplayers = response.getOnlinePlayers();
                Log.d("MCQuery", "" + Onlineplayers + " Online Players");

            }
        }.start();

        TextView onlinePlayersView = (TextView) findViewById(R.id.online_players);
        onlinePlayersView.setText(Onlineplayers);

        return v;
    }
}
错误是:“无法从类型活动对非静态方法
findViewById(int)
进行静态引用”


如何解决这个问题?

现在我要做一个大胆的猜测:这是另一个类声明中的嵌套类,findViewById()方法是顶级类,但不是静态的? 如果这是正确的,那就是问题所在。
当您定义一个内部类静态时,它就变成了一个独立的顶级类。因为方法findViewById()不是静态的,所以它需要顶级声明类的实例对象,但是类FirstView现在是静态的-一个完全独立的类,这意味着要实例化它不需要顶级类的实例。现在这就导致了问题——FirstView不需要顶级类的对象,而findViewById()需要顶级类的对象。若要修复此问题,请将FirstView更改为非静态,或将findViewById()更改为静态,或解释您在代码之外到底在做什么,以及您的目标是什么

现在我要做一个大胆的猜测:这是另一个类声明中的一个嵌套类,findViewById()方法是顶级类,但不是静态的? 如果这是正确的,那就是问题所在。 当您定义一个内部类静态时,它就变成了一个独立的顶级类。因为方法findViewById()不是静态的,所以它需要顶级声明类的实例对象,但是类FirstView现在是静态的-一个完全独立的类,这意味着要实例化它不需要顶级类的实例。现在这就导致了问题——FirstView不需要顶级类的对象,而findViewById()需要顶级类的对象。若要修复此问题,请将FirstView更改为非静态,或将findViewById()更改为静态,或解释您在代码之外到底在做什么,以及您的目标是什么

尝试使用v.findviewbyd()并查看是否有帮助…尝试使用v.findviewbyd()并查看是否有帮助。。。