Java 将值从一个类传递到另一个类
我试图将值从一个类传递到另一个类。我不能使用intent,因为该类扩展了一个自定义库,并且我不能使用bundle和stuff(如果im正确的话)。这是我试过的 我有两个类callhelper.java,它监视传入和传出呼叫。当触发一个操作时,它从DB填充数据并将其发送到另一个类,在该类中显示弹出窗口 callhelper类Java 将值从一个类传递到另一个类,java,android,Java,Android,我试图将值从一个类传递到另一个类。我不能使用intent,因为该类扩展了一个自定义库,并且我不能使用bundle和stuff(如果im正确的话)。这是我试过的 我有两个类callhelper.java,它监视传入和传出呼叫。当触发一个操作时,它从DB填充数据并将其发送到另一个类,在该类中显示弹出窗口 callhelper类 public void onReceive(Context context, Intent intent) { String number = in
public void onReceive(Context context, Intent intent) {
String number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
String out = null;
String query = "select * from ReminderTable" ;
Cursor c2= enter.selectQuery(query);
//GetData and place it in out
//Instance of 2nd class PopUpDisplay set = new PopUpDisplay();
//passing out to function set.setData(out);
// calling 2nd class to display popup // StandOutWindow.show(context, PopUpDisplay.class, StandOutWindow.DISREGARD_ID);
Toast.makeText(ctx, out, Toast.LENGTH_LONG).show();
enter.close();
在popupdisplay类中,我有一个全局变量和一个方法setData()
,用于设置变量的值
@Override
public void createAndAttachView(int id, FrameLayout frame) {
// create a new layout from body.xml
LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.simple, frame, true);
tv1 = (TextView)view.findViewById(R.id.tvdisplaypoptitle);
tv = (TextView) view.findViewById(R.id.tvdisplaypopnote);
tv.setText(note);
tv1.setText("Title");
btn1 = (Button) view.findViewById(R.id.btn3);
btn1.setOnClickListener(this);
}
public void setData(String a){
note = a;
}
createAndAttachView是我想要设置textview以显示上一个类传递的消息的方法。此方法设置弹出窗口的布局。该弹出窗口在CallHelper类中由StandOutWindow.show()
方法调用
因此,问题是,无论何时显示弹出窗口,它都会显示
null
。如何使其显示我的消息而不是null。应该添加什么额外的代码?请帮忙。提前感谢。创建一个SharedReferenceShelper类,使其包含您希望在各种类中使用的所有全局变量,然后您可以使用简单的getter方法在应用程序中的任何位置使用这些变量。查找SharedReferences,这很容易使用。因为这是运行时数据,不建议使用SharedReference。创建一个名为RunTimeData.java的类。在此将所有必需变量声明为静态变量。每当需要保存数据时,请将其保存到这些变量中。在使用其他类中的数据后,确保通过将变量设置为null来释放变量
例如
public class RunTimeData{
public static String name=null;
}
分配数据时,请按如下方式使用
RuntimeData.name=“yyyy”
在使用数据时,请按如下方式使用
TextView tv=新建TextView();
tv.setText(RunTimeData.name)
RunTimeData.name=null
当您确定不再在某处使用该值时,请释放该变量。如何使用全局常量变量?还是共享pref?你试过了吗?我没有试过共享prefs,我是android新手,你能指导我吗@女主角