Android 如何使用putExtra向多个活动发送数据

Android 如何使用putExtra向多个活动发送数据,android,android-intent,Android,Android Intent,我有以下代码: Intent intent = new Intent(); intent.setClass(getApplicationContext(), DetailView.class); intent.putExtra("position", Integer.toString(position + 1)); startActivity(intent); 如您所见,我正在使用putExtra

我有以下代码:

Intent intent = new Intent();
                intent.setClass(getApplicationContext(), DetailView.class);
                intent.putExtra("position", Integer.toString(position + 1)); 
                startActivity(intent);

如您所见,我正在使用putExtra将position的值发送给名为DetailView的类。我想将相同的位置发送到另一个类,我不想启动活动,我只想发送“位置”的值。你们谁能告诉我怎么做。欢迎所有建议。提前谢谢。如果需要更多信息,请告诉我。

如果您不想启动其他活动,我可以为您提供三个选项

1.创建
public static int position
并访问它查看
class
name

设置
ClassName.position=此处的值..

从任何
类中获取
时,将
用作
ClassName.position

2.使用
setter
getter
方法创建一个
class

3.将值存储在
SharedReference


当您的
位置
值发生变化时,更新上述各项。

您需要传递位置变量的此类还将在哪里使用

如果您已经在创建一个新的类实例,最好的方法可能是简单地通过构造函数传递值

否则,我建议将
public
public static
方法添加到要接收位置变量的类中

public class PositionReceiver {
    private int mPosition; 

    public void setPosition(int position){
        mPosition = position;
    }

}


我建议您使用SharedReference,这样您就可以在应用程序的任何位置访问它的值position的值并不总是相同的,它每次都在变化。使用共享首选项可以做到这一点吗?每次我需要在共享首选项中存储值时,对吗?您可以更新共享首选项,更新后的值将在您的应用程序中随时可用OK。非常感谢。将对此进行尝试。您接受了一个相当差的答案,该答案将不提供更新通知,而是要求您的接收者投票进行更改,请重新考虑,因为广播目的很可能最适合您的需要。在第一个访问它的视图类名中,我不明白吗?对不起,是的,我会试试的。非常感谢。存储在共享首选项中很有效。1不起作用。谢谢你更新我的信息,也谢谢你接受我的回答。不。这些机制中的第一个和第三个都不提供更新通知,而第二个机制则很困难,因为可能没有要通知的目标类的实例,并且您不能简单地按照通常的单例模式创建一个。否。决不能调用Android活动子类的构造函数,因为结果将是非功能性的。只有系统可以创建活动的工作实例。调用公共方法不一定是非功能性的,但有点风险/棘手,因为您不一定有任何实例来处理该信息。
public class PositionReceiver {
    private static int sPosition; 

    public static setPosition(int position){
        sPosition = position;
    }

}