Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.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 访问另一个类Eclipse中使用的变量?_Java_Android_Eclipse_Class_Variables - Fatal编程技术网

Java 访问另一个类Eclipse中使用的变量?

Java 访问另一个类Eclipse中使用的变量?,java,android,eclipse,class,variables,Java,Android,Eclipse,Class,Variables,请温柔一点,我是Java新手,但我真的很想学习。我这里有一个简单的应用程序(实验),带有一个网络视图和三个按钮。每个按钮都会将另一个地址加载到webview中 正如您在每个按钮上看到的,就在“View.OnClickListener()”之后,我一次又一次地引用“myWebView”变量,但是如果没有这个变量,我会收到“myWebView无法解析”错误消息。我确信这不是正确的方法:D 如何从“setOnClickListener”函数中访问在上述类中创建的“myWebView”变量 谢谢 pac

请温柔一点,我是Java新手,但我真的很想学习。我这里有一个简单的应用程序(实验),带有一个网络视图和三个按钮。每个按钮都会将另一个地址加载到webview中

正如您在每个按钮上看到的,就在“View.OnClickListener()”之后,我一次又一次地引用“myWebView”变量,但是如果没有这个变量,我会收到“myWebView无法解析”错误消息。我确信这不是正确的方法:D

如何从“setOnClickListener”函数中访问在上述类中创建的“myWebView”变量

谢谢

package com.example.cinemagrandmall;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;

public class MainActivity extends Activity {

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

        WebView myWebView = (WebView) findViewById(R.id.webview);
        myWebView.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });

        myWebView.setWebChromeClient(new WebChromeClient());
        myWebView.loadUrl("http://edmondvarga.com/testing_app/home.html");
        myWebView.getSettings().setJavaScriptEnabled(true);

        Buttons();
    }


        private void Buttons() {
        Button home = (Button) findViewById(R.id.home_btn);
        Button rezervari = (Button) findViewById(R.id.rezervari_btn);
        Button locatie = (Button) findViewById(R.id.locatie_btn);

        home.setOnClickListener(new View.OnClickListener() {
        WebView myWebView = (WebView) findViewById(R.id.webview);

        @Override
            public void onClick(View v) {               
            myWebView.loadUrl("http://edmondvarga.com/testing_app/home.html");              
            }
        });

        rezervari.setOnClickListener(new View.OnClickListener() {
        WebView myWebView = (WebView) findViewById(R.id.webview);

        @Override
            public void onClick(View v) {               
            myWebView.loadUrl("http://edmondvarga.com/testing_app/rezervari.html");             
                }
            });

         locatie.setOnClickListener(new View.OnClickListener() {
         WebView myWebView = (WebView) findViewById(R.id.webview);

         @Override
         public void onClick(View v) {              
         myWebView.loadUrl("http://edmondvarga.com/testing_app/locatie.html");              
                }
            });
         }


}

使
myWebView
成为
MainActivity
类的成员

public class MainActivity extends Activity {

       WebView myWebView;

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

        myWebView= (WebView) findViewById(R.id.webview);
        myWebView.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });

        myWebView.setWebChromeClient(new WebChromeClient());
        myWebView.loadUrl("http://edmondvarga.com/testing_app/home.html");
        myWebView.getSettings().setJavaScriptEnabled(true);

        Buttons();
    }


        private void Buttons() {
        Button home = (Button) findViewById(R.id.home_btn);
        Button rezervari = (Button) findViewById(R.id.rezervari_btn);
        Button locatie = (Button) findViewById(R.id.locatie_btn);

        home.setOnClickListener(new View.OnClickListener() {
        WebView myWebView = (WebView) findViewById(R.id.webview);

        @Override
            public void onClick(View v) {               
            myWebView.loadUrl("http://edmondvarga.com/testing_app/home.html");              
            }
        });

        rezervari.setOnClickListener(new View.OnClickListener() {
        WebView myWebView = (WebView) findViewById(R.id.webview);

        @Override
            public void onClick(View v) {               
            myWebView.loadUrl("http://edmondvarga.com/testing_app/rezervari.html");             
                }
            });

         locatie.setOnClickListener(new View.OnClickListener() {
         WebView myWebView = (WebView) findViewById(R.id.webview);

         @Override
         public void onClick(View v) {              
         myWebView.loadUrl("http://edmondvarga.com/testing_app/locatie.html");              
                }
            });
         }


}

使
myWebView
成为
MainActivity
类的成员

public class MainActivity extends Activity {

       WebView myWebView;

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

        myWebView= (WebView) findViewById(R.id.webview);
        myWebView.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });

        myWebView.setWebChromeClient(new WebChromeClient());
        myWebView.loadUrl("http://edmondvarga.com/testing_app/home.html");
        myWebView.getSettings().setJavaScriptEnabled(true);

        Buttons();
    }


        private void Buttons() {
        Button home = (Button) findViewById(R.id.home_btn);
        Button rezervari = (Button) findViewById(R.id.rezervari_btn);
        Button locatie = (Button) findViewById(R.id.locatie_btn);

        home.setOnClickListener(new View.OnClickListener() {
        WebView myWebView = (WebView) findViewById(R.id.webview);

        @Override
            public void onClick(View v) {               
            myWebView.loadUrl("http://edmondvarga.com/testing_app/home.html");              
            }
        });

        rezervari.setOnClickListener(new View.OnClickListener() {
        WebView myWebView = (WebView) findViewById(R.id.webview);

        @Override
            public void onClick(View v) {               
            myWebView.loadUrl("http://edmondvarga.com/testing_app/rezervari.html");             
                }
            });

         locatie.setOnClickListener(new View.OnClickListener() {
         WebView myWebView = (WebView) findViewById(R.id.webview);

         @Override
         public void onClick(View v) {              
         myWebView.loadUrl("http://edmondvarga.com/testing_app/locatie.html");              
                }
            });
         }


}

使
myWebView
成为
MainActivity
类的成员

public class MainActivity extends Activity {

       WebView myWebView;

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

        myWebView= (WebView) findViewById(R.id.webview);
        myWebView.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });

        myWebView.setWebChromeClient(new WebChromeClient());
        myWebView.loadUrl("http://edmondvarga.com/testing_app/home.html");
        myWebView.getSettings().setJavaScriptEnabled(true);

        Buttons();
    }


        private void Buttons() {
        Button home = (Button) findViewById(R.id.home_btn);
        Button rezervari = (Button) findViewById(R.id.rezervari_btn);
        Button locatie = (Button) findViewById(R.id.locatie_btn);

        home.setOnClickListener(new View.OnClickListener() {
        WebView myWebView = (WebView) findViewById(R.id.webview);

        @Override
            public void onClick(View v) {               
            myWebView.loadUrl("http://edmondvarga.com/testing_app/home.html");              
            }
        });

        rezervari.setOnClickListener(new View.OnClickListener() {
        WebView myWebView = (WebView) findViewById(R.id.webview);

        @Override
            public void onClick(View v) {               
            myWebView.loadUrl("http://edmondvarga.com/testing_app/rezervari.html");             
                }
            });

         locatie.setOnClickListener(new View.OnClickListener() {
         WebView myWebView = (WebView) findViewById(R.id.webview);

         @Override
         public void onClick(View v) {              
         myWebView.loadUrl("http://edmondvarga.com/testing_app/locatie.html");              
                }
            });
         }


}

使
myWebView
成为
MainActivity
类的成员

public class MainActivity extends Activity {

       WebView myWebView;

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

        myWebView= (WebView) findViewById(R.id.webview);
        myWebView.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });

        myWebView.setWebChromeClient(new WebChromeClient());
        myWebView.loadUrl("http://edmondvarga.com/testing_app/home.html");
        myWebView.getSettings().setJavaScriptEnabled(true);

        Buttons();
    }


        private void Buttons() {
        Button home = (Button) findViewById(R.id.home_btn);
        Button rezervari = (Button) findViewById(R.id.rezervari_btn);
        Button locatie = (Button) findViewById(R.id.locatie_btn);

        home.setOnClickListener(new View.OnClickListener() {
        WebView myWebView = (WebView) findViewById(R.id.webview);

        @Override
            public void onClick(View v) {               
            myWebView.loadUrl("http://edmondvarga.com/testing_app/home.html");              
            }
        });

        rezervari.setOnClickListener(new View.OnClickListener() {
        WebView myWebView = (WebView) findViewById(R.id.webview);

        @Override
            public void onClick(View v) {               
            myWebView.loadUrl("http://edmondvarga.com/testing_app/rezervari.html");             
                }
            });

         locatie.setOnClickListener(new View.OnClickListener() {
         WebView myWebView = (WebView) findViewById(R.id.webview);

         @Override
         public void onClick(View v) {              
         myWebView.loadUrl("http://edmondvarga.com/testing_app/locatie.html");              
                }
            });
         }


}

为类创建一个新字段,以便可以重用它

public class MainActivity extends Activity {

    private WebView myWebView = (WebView) findViewById(R.id.webview);

    // now you can use myWebView anywhere in your methods
    // without having to redefine it every time

}

为类创建一个新字段,以便可以重用它

public class MainActivity extends Activity {

    private WebView myWebView = (WebView) findViewById(R.id.webview);

    // now you can use myWebView anywhere in your methods
    // without having to redefine it every time

}

为类创建一个新字段,以便可以重用它

public class MainActivity extends Activity {

    private WebView myWebView = (WebView) findViewById(R.id.webview);

    // now you can use myWebView anywhere in your methods
    // without having to redefine it every time

}

为类创建一个新字段,以便可以重用它

public class MainActivity extends Activity {

    private WebView myWebView = (WebView) findViewById(R.id.webview);

    // now you can use myWebView anywhere in your methods
    // without having to redefine it every time

}

您可以为类声明几种类型的变量(从中):

  • 类中的成员变量称为字段
  • 方法或代码块中的变量称为局部变量
  • 方法声明中的变量称为参数
您正在创建第二种类型,因此myWebView变量只能在声明它的代码块中访问

将变量从第二种类型(本地)更改为第一种类型(类字段),它将在MainActivity类中的任何位置都可以访问:

public class MainActivity extends Activity {
    //declared as class field, will be accessible in every method of the class
    private WebView myWebView;

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

        //initialise it here
        myWebView= (WebView) findViewById(R.id.webview);

        //rest of your code
}

学习关于类、范围等的基础知识是个好主意,您可以检查。

您可以为类声明几种类型的变量(从中):

  • 类中的成员变量称为字段
  • 方法或代码块中的变量称为局部变量
  • 方法声明中的变量称为参数
您正在创建第二种类型,因此myWebView变量只能在声明它的代码块中访问

将变量从第二种类型(本地)更改为第一种类型(类字段),它将在MainActivity类中的任何位置都可以访问:

public class MainActivity extends Activity {
    //declared as class field, will be accessible in every method of the class
    private WebView myWebView;

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

        //initialise it here
        myWebView= (WebView) findViewById(R.id.webview);

        //rest of your code
}

学习关于类、范围等的基础知识是个好主意,您可以检查。

您可以为类声明几种类型的变量(从中):

  • 类中的成员变量称为字段
  • 方法或代码块中的变量称为局部变量
  • 方法声明中的变量称为参数
您正在创建第二种类型,因此myWebView变量只能在声明它的代码块中访问

将变量从第二种类型(本地)更改为第一种类型(类字段),它将在MainActivity类中的任何位置都可以访问:

public class MainActivity extends Activity {
    //declared as class field, will be accessible in every method of the class
    private WebView myWebView;

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

        //initialise it here
        myWebView= (WebView) findViewById(R.id.webview);

        //rest of your code
}

学习关于类、范围等的基础知识是个好主意,您可以检查。

您可以为类声明几种类型的变量(从中):

  • 类中的成员变量称为字段
  • 方法或代码块中的变量称为局部变量
  • 方法声明中的变量称为参数
您正在创建第二种类型,因此myWebView变量只能在声明它的代码块中访问

将变量从第二种类型(本地)更改为第一种类型(类字段),它将在MainActivity类中的任何位置都可以访问:

public class MainActivity extends Activity {
    //declared as class field, will be accessible in every method of the class
    private WebView myWebView;

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

        //initialise it here
        myWebView= (WebView) findViewById(R.id.webview);

        //rest of your code
}

学习有关类、范围等的基础知识是个好主意,您可以查看。

谢谢您的友好回答,我现在明白了。我将继续学习更多的基础知识,从课程开始…:)谢谢你的回答,我现在明白了。我将继续学习更多的基础知识,从课程开始…:)谢谢你的回答,我现在明白了。我将继续学习更多的基础知识,从课程开始…:)谢谢你的回答,我现在明白了。将继续学习更多的基础知识,从课程开始…:)