更改另一个 class 的 webView 可见性

Change webView visibility from another class

所以我的主 class 中有一个 webview 元素,我想将其可见性更改为隐藏, 我只需要一个总数:

myWebView.setVisibility(View.GONE);

但我的问题是当我想从另一个class控制它时,我在网上搜索了很多都没有找到满意的答案, 这是我尝试过的:

MassegeNetsActivity.java: (主要activity)

fullScreenFu.openFullScreen(MassegeNetsActivity.this);

fullScreenFu.java:

import android.app.Activity;
import android.content.Context;
import android.net.ConnectivityManager;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.ImageButton;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;




public class videoFullScreen extends AppCompatActivity {

public void openFullScreen(Context c) {
    WebView myWebView = (WebView) findViewById(R.id.webview);
    myWebView.setVisibility(View.GONE);

       }
  }

但是我调用函数的时候没有任何反应,没有报错就是没有响应,继续显示webview。 当然这是一个与图像按钮或文本相关的问题,对我来说它是用 webview 出来的:)

非常感谢!

将您的 webview 创建为一个 class 变量并在您的 onCreate 方法中对其进行初始化,这样当您想要隐藏它时,您只需调用 class 变量而不是每次都通过 id 查找它

所以在使用@Wongani 之后,我能够做一些效果很好的事情,所以它应该是这样的:

第一步我们将在mainclass中将浏览器定义为class类型:

public static Webview myWebView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_one);


   myWebView = (Webview) findViewById(R.id.myWebView);
}

二级: 我们现在可以从第二个 class 调用他,像这样:

MainActivity.myWebView.setVisibility(View.GONE);

非常简单:)

祝你好运!