Android 无法更新值

Android 无法更新值,android,android-view,Android,Android View,我有一个类(constant.class)。其中包含所有需要更新的常量值。我在主要活动中有一个方法。它更新常量值(url)并执行视图类(包含webview)。但是url的值不能在constant.class中更新。所以在我看来 网络视图看起来是白色的。我必须更新constant.class中url的值。这是我的固定课程: public class Constant { public static boolean isCapturedOk = false; public static int

我有一个类(constant.class)。其中包含所有需要更新的常量值。我在主要活动中有一个方法。它更新常量值(url)并执行视图类(包含webview)。但是url的值不能在constant.class中更新。所以在我看来 网络视图看起来是白色的。我必须更新constant.class中url的值。这是我的固定课程:

public class Constant {

public static boolean isCapturedOk = false;

public static int imagePickerStatus = -1;

public static byte[] imageData;

public static int result = 0;

public static String printUrl = "";

public static String rotationValue="";

public static String rotationValueForCamera="";

public static boolean isPrintButtonVisible = true;
}

这是我的观点课:

public class PrintView extends LinearLayout {

WebView wev;
public PrintView(Context context) {
    super(context);
    // TODO Auto-generated constructor stub
    View.inflate(context, R.layout.printscreen, this);
    wev = (WebView) findViewById(R.id.webViewPrint);
    wev.loadUrl("http://www.vividworks.com/");

}

public PrintView(Context context, AttributeSet attrs, int defStyle) {
    super(context);
    // TODO Auto-generated constructor stub
    View.inflate(context, R.layout.printscreen, this);
    wev = (WebView) findViewById(R.id.webViewPrint);
    wev.loadUrl("http://www.vividworks.com/");

}

public PrintView(Context context, AttributeSet attrs) {
    super(context);
    // TODO Auto-generated constructor stub
    View.inflate(context, R.layout.printscreen, this);
    wev = (WebView) findViewById(R.id.webViewPrint);
    wev.loadUrl("http://www.vividworks.com/");

}



@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
    // TODO Auto-generated method stub
    for(int i = 0 ; i < getChildCount() ; i++){
        getChildAt(i).layout(l, t, r, b);
    }
}

为什么不将
常量
类设置为

通过这种方式,您可以获取类的一个
实例
,使用
getters
setters
编辑其字段

这大致就是该类的外观:

private Constant() {
    // Exists only to defeat instantiation.
}

public static Constant getInstance() {
    if(instance == null) {
        instance = new Constant();
    }
    return instance;
}

add getters and setters
在每项活动中,您都可以获得
常量
,如下所示:

Constant c = Constant.getInstance();
然后将URL或其他设置为正常

e.g. c.setURL("urlhere");

您好,您不能对类变量进行任何更改,您可以创建类的对象并使用其属性和方法。您好,Mohammad,您在哪里调用loadPrintActivity(String printUrl)以及在其中传递了什么值,请解释一下,以便我们能帮到您。@Nand,我想将printUrl传递给constant.class。并将其用于printview.class。这就是为什么我想把这个值放到constant.class中。有人能帮我吗。PLz PLz PLz……………@shree202我该怎么做?你不明白哪部分?你点击了这个链接了吗(它会更详细地解释)
e.g. c.setURL("urlhere");