Java 如何从其他类获取var
我想我有一个简单的问题。。。。但对我这个初学者来说,我再也看不见了 在一个类中,我想从另一个类中获取一些var 第1类:Java 如何从其他类获取var,java,android,eclipse,class,Java,Android,Eclipse,Class,我想我有一个简单的问题。。。。但对我这个初学者来说,我再也看不见了 在一个类中,我想从另一个类中获取一些var 第1类: package com.blabla; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.prefere
package com.blabla;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
public class SMSReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//get shared preferences
GetSettings test1 = new RingSettings();
String theSMStext = test1.getSMStext();
Boolean theActivateSMS = test1.getActivateSMS();
}
}
第2类:
package com.blabla;
import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
public class GetSettings {
/**
* @param args
*/
private String SMStext;
private Boolean ActivateSMS;
public static void RingSettings(Context context) {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
String SMStext = sp.getString("SMStext", "0");
Boolean ActivateSMS = sp.getBoolean("ActivateSMS", false);
}
public String getSMStext(){
return SMStext;
}
public Boolean getActivateSMS(){
return ActivateSMS;
}
}
Eclipse在class1中给了我“RingSettings无法解析为类型”=>在GetSettings test1=new RingSettings()
我做错了什么 这里你肯定有一些事情要解决
- GetSettings中定义的RingSettings返回类型void,而不是GetSettings对象
- RingSettings定义为将上下文作为参数
- RingSettings被定义为GetSettings对象的方法,应使用GetSettings.RingSettings(上下文)调用
- 假设您正在尝试创建GetSettings对象。。。GetSettings应该有一个构造函数
new
关键字上查看此信息:(开始)
祝你好运最简单的解决方案是实现一个helper类:
public class GlobalVars extends Application {
private static String value2;
public static String getValue() {
return value2;
}
public static void setValue(String value) {
value2 = value;
}
}
在A类中,将值设置为GlobalVars.setValue(“某物”)代码>
在类B中,获取值为String your_value=GlobalVars.getValue()
除非您现在有一个名为RingSettings
的类,否则您试图从类GetSettings
实例化一个方法RingSettings
,这显然会失败。我建议您更多地了解Java(以及Android)。也可能您想要执行GetSettings test1=newgetsettings()代码>不幸的是,这并不能解决代码中的错误。这只会增加另一个层次的复杂性。这个答案与其他关于清单条目的答案和注释结合在一起,对我来说非常有效。