gpt4 book ai didi

java - 类型无法从类型 View 对非静态方法 setVisibility(int) 进行静态引用

转载 作者:行者123 更新时间:2023-11-29 09:11:18 25 4
gpt4 key购买 nike

我在 Eclipse 中不断收到以下错误:

Type Cannot make a static reference to the non-static method setVisibility(int) from the type View

我的代码是:

package com.example.testing;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}

public void onLoveButtonClicked(View view) {
TextView haikuTextView = (TextView) findViewById(R.id.haikuTextView);
TextView.setVisibility(View.VISIBLE); //error here
}
}

我只是 java 的初学者,所以我不知道是什么导致了这个问题。我用谷歌搜索了错误,但没有得到任何帮助。

最佳答案

你需要使用:

haikuTextView.setVisibility(View.VISIBLE); 

TextView 是类,haikuTextView 是您的变量。您不能更改整个类(class)的可见性。但是您可以更改变量的可见性。


当你写的时候:

<TextView
android:id="@+id/haikuTextView"
... />

您创建了 TextView 类的一个实例。您可以创建很多 TextView 类的实例,但是当您想要在一个实例中更改某个特定的特性时,您必须指定要更改的 TextView .

当您编写 TextView.setVisibility() 时,您尝试更改每个 TextView。现在 TextView 类没有方法 setVisibility() 来更改每个 TextView,但它有 setVisibilty() 更改一个实例。

所以
当您尝试使用 TextView.setVisibility() 访问每个 TextView 时,这是一个“静态引用”,但是,就像我说的,没有调用 setVisibility 的方法() 每个 TextView

如果您使用 haikuTextView.setVisibilty() 更改一个实例的可见性,这将起作用,因为存在“非静态方法”。

关于java - 类型无法从类型 View 对非静态方法 setVisibility(int) 进行静态引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12309301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com