gpt4 book ai didi

java - 在子类中分配全局变量并在 onCreate 方法中使用它 - Android

转载 作者:行者123 更新时间:2023-12-01 09:15:40 25 4
gpt4 key购买 nike

我创建了一个公共(public)全局变量,我从子类中为其分配了数据,并且我想在 onCreate 方法中使用该数据。问题是变量在onCreate方法中返回null,而在其他子类中返回数据。我只是想从 javascript 获取值并将其存储在 onCreate 方法中的 Java 变量中。我对 Java 和 android 开发比较陌生。如有任何帮助,我们将不胜感激。

public class MainActivity extends AppCompatActivity {

// Initiallising the WebView
private WebView mywebView;

public String userData;

private GoogleApiClient client;

@SuppressLint("JavascriptInterface")
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// Webview
mywebView = (WebView) findViewById(R.id.myWebView);
WebSettings webSettings = mywebView.getSettings();
webSettings.setJavaScriptEnabled(true);

mywebView.setWebViewClient(new MyWebViewClient());
mywebView.addJavascriptInterface(new JavascriptBridge(this), "AndUser");

mywebView.loadUrl("file:///android_asset/www/index.html");

Toast t = Toast.makeText(getApplicationContext(), userData+" Tesing..." , Toast.LENGTH_LONG);
t.show(); // returns null Testing...
}

public class JavascriptBridge{
Context mContext;
JavascriptBridge(Context c) {
mContext = c;
}

@JavascriptInterface
public String getUserDetails(String message){
userData = message;
return message;
}
}

}

最佳答案

I created a public global variable, I assigned data it from a subclass and I want to use that data in the onCreate method.

Java 使用了 oops 概念来访问可以更改父值的父变量:即

// parent
public class Parent {
private int value = 0;
public Parent( int initialValue ) {
value = initialValue;
}

public void print() {
System.out.println(value);
}
}

// child class
public class Child extends Parent{
public Child() {
super( 1 ); /// This super keyword change your parent class variable.
}
}

也许如果您在创建桥接时遇到问题,可以通过此 Post .

关于java - 在子类中分配全局变量并在 onCreate 方法中使用它 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40558759/

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