Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.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 将变量从活动传递到类_Java_Android - Fatal编程技术网

Java 将变量从活动传递到类

Java 将变量从活动传递到类,java,android,Java,Android,我对安卓很了解。 如何将静态变量从一个活动传递到一个类。 我有一个按钮列表,当我点击一个按钮时,我想打开一个新的活动,同时传递一个与该类相关的变量。我尝试过使用共享偏好,但没有成功。我想使用的字符串变量称为url。这是我从课堂上得到的代码 public class AppConstant { public static final String BASE_URL = url; } 基本URL将在其他类中使用,这就是为什么它是静态的,我希望它保持这种状态。最短的方法是删除final关

我对安卓很了解。 如何将静态变量从一个活动传递到一个类。 我有一个按钮列表,当我点击一个按钮时,我想打开一个新的活动,同时传递一个与该类相关的变量。我尝试过使用共享偏好,但没有成功。我想使用的字符串变量称为url。这是我从课堂上得到的代码

public class AppConstant {

    public static final String BASE_URL = url;

}

基本URL将在其他类中使用,这就是为什么它是静态的,我希望它保持这种状态。

最短的方法是删除final关键字

这将允许您从应用程序中的任何方法写入此字段

AppConstant.BASE_URL = "abc";
请注意,AppConstant不是这种用法的正确名称,BASE\u URL不是常量


顺便说一句,在静态字段中保存数据是一个非常糟糕的方法,不要这样做。。。使用Bundle在活动之间传递数据、服务的IPC通信绑定、SharedReferences、SQLiteDatabase和其他一些方法…

最短的方法是删除final关键字

这将允许您从应用程序中的任何方法写入此字段

AppConstant.BASE_URL = "abc";
请注意,AppConstant不是这种用法的正确名称,BASE\u URL不是常量


顺便说一句,在静态字段中保存数据是一个非常糟糕的方法,不要这样做。。。使用Bundle在活动之间传递数据、服务的IPC通信绑定、SharedReferences、SQLiteDatabase和其他一些方法…

如果它是静态的,则不应在活动中

我想你的意思是从活动中访问静态变量

如果是这样,您只需在活动中调用AppConstant.BASE_URL,如果它显示为红色,请按Control+Enter以修复Android Studio中的导入

另一方面,可以通过方法将变量从活动传递到类。因此,只需在活动中调用一个方法,并使用字符串作为参数,如下所示

Otherclass.doSomethingWithString(urlInYourActivity)

但是我假设我在开始时提到的是你想做的事情,如果它是静态的,它不应该在活动中

我想你的意思是从活动中访问静态变量

如果是这样,您只需在活动中调用AppConstant.BASE_URL,如果它显示为红色,请按Control+Enter以修复Android Studio中的导入

另一方面,可以通过方法将变量从活动传递到类。因此,只需在活动中调用一个方法,并使用字符串作为参数,如下所示

Otherclass.doSomethingWithString(urlInYourActivity)

但我假设我在开始时提到的是您想要做的事情

因为其他解决方案对您不起作用,这里有一些不同的东西: 制作一个名为ext的saparate文件。在内部创建一个公共抽象类,如下所示:

public interface ext {
    HashMap <String, String> myHash = new HashMap<>();
}

由于其他解决方案对您不起作用,这里有些不同: 制作一个名为ext的saparate文件。在内部创建一个公共抽象类,如下所示:

public interface ext {
    HashMap <String, String> myHash = new HashMap<>();
}

删除final关键字没有帮助,我想知道如何将值检索到类中,即使我删除它,我仍然没有值删除final关键字没有帮助,我想知道如何将值检索到类中,即使我删除它,我仍然没有值不是它,我想把一个变量从activity传递到一个类,再传递到我已经知道的其他类好了,那么为什么不在普通类中硬编码呢?它是在活动中检索到的吗?不,它是在另一个类中检索到的,我不能硬编码它,因为每次单击按钮它都会更改。如果它不是通过网络调用或其他方式在活动中检索到的,它不应该太难,如果您用数据源更新您的问题,我可以帮助您更好地执行操作,不是吗,我想把一个变量从activity传递到一个类,再传递到我已经知道的其他类好了,那么为什么不在普通类中硬编码呢?它是在活动中检索到的吗?不,它是在另一个类中检索到的,我不能硬编码它,因为每次单击按钮它都会更改。如果它不是通过网络调用或其他方式在活动中检索到的,它不应该太难,如果您用数据源更新您的问题,我可以更好地帮助您