在子类中分配一个全局变量并在 onCreate 方法中使用它 - Android
Assign a global variable in a subclass and use it in the onCreate method - Android
我创建了一个 public 全局变量,我从子类中为它分配了数据,我想在 onCreate 方法中使用该数据。问题是 onCreate 方法中的变量 returns null 而其他子类中的数据 returns 。我只是想从 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。
我创建了一个 public 全局变量,我从子类中为它分配了数据,我想在 onCreate 方法中使用该数据。问题是 onCreate 方法中的变量 returns null 而其他子类中的数据 returns 。我只是想从 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。