Java 将非活动类之间的变量传递给android活动类

Java 将非活动类之间的变量传递给android活动类,java,android,android-activity,textview,Java,Android,Android Activity,Textview,我需要将一个变量从(大约)非活动类传递到nameget(android活动)类。在文本视图中显示传递的变量值。。请告诉我这个例子需要做什么。如何将其传递给android活动 public class around(non-activity class) { String name = "arjun"; //how to pass this name value to an below activity nameget nam = new nameget(); St

我需要将一个变量从(大约)非活动类传递到nameget(android活动)类。在文本视图中显示传递的变量值。。请告诉我这个例子需要做什么。如何将其传递给android活动

public class around(non-activity class)
{
    String name = "arjun";
    //how to pass this name value to an below activity
    nameget nam = new nameget();
    String new = nam.get(name);
}

public class nameget extends Activity(android activity class)
{
   public String get(String name)
   {
      String got = name;
      TextView t1 = (TextView)findViewById(R.id.textView1);
      t1.setText(name);
    }
}
试试这个

  public class around(non-activity class)
    {
     public static  String name = "arjun";
        //how to pass this name string to an below activity
    }

    public class nameget extends Activity(android activity class)
    {
        TextView t1 = (TextView)findViewById(R.id.textView1);
//your class name around
        t1.setText(around.name);
    }

试试这个,在活动类中声明非活动类

 public class around(non-activity class)
{
Public static String name;
 name = "arjun";
//how to pass this name string to an below activity
}

 public class nameget extends Activity(android activity class)
  {
  around ar = new around();
  //declare non activity class here

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
TextView t1 = (TextView)findViewById(R.id.textView1);
t1.setText(ar.name);
 }
 }

您只需在非活动类中为变量生成getter和setter,如

public String getName(){
  return name;
}

public void setName(String name){
   this.name = name;
}
现在,您可以从任何地方获取/设置名称的值为

Arround ar = new Arround()
ar.setName("Aruva"); //To set name
ar.getName();  // To get 
在你的活动中,你喜欢

 t1.setText(ar.getName().toString());

您的非活动类可以在同一个包或src文件夹中的另一个包的任何位置创建。

这是一个非常奇怪的问题,因为您的设计在这里并不清楚。您可以通过意图包将参数传递给活动。您只能在开始活动时传递它们。活动只能在某些上下文对象上启动(99%的情况下为其他活动)

只要您有权访问某个非活动类的上下文,就可以从该类开始活动。在按下后退按钮的情况下,您将启动的活动需要知道谁是它的家长

如果要在启动活动时将数据传递给活动,请参见:


如果不是这种情况,请描述您的情况什么是非活动类,它与您希望将数据传递给的活动有何关系。

解决此类问题的最佳方法是使用事件驱动体系结构。 我建议您可以使用任何事件库

(在eventbus的范围内) 使用name属性创建一个名为NameChangedEvent的

您的活动将在活动时收听(恢复时-暂停时)。 更改名称后,您将调度此事件 e、 g

EventBus.getDefault().post(新名称changedevent(name))

您的活动将捕获此信息并更新视图。它还可以读取此事件onCreate方法的最新版本


当然,如果你只是为了一个字段而这样做,那就太过分了。但许多应用程序需要处理数据更改和更新其UI,而拥有事件()是最好的方法。这有助于将应用程序逻辑和UI松散耦合。

如果保存类型为“Class”的变量,则更容易

示例:(玩得开心)

classmyclasssave;
MyClassSave=MainActivity.class;
您可以从.class获取所有值


您可以设置为public/private(static)或pass for bundle/serializable/Obj

问题是,类在哪里定义,实例化在哪个上下文中进行,您希望从哪个上下文“传递”变量。此外,变量不能被传递,它们可以被共享;另一方面,可以传递值和引用。那么你对此有什么具体的要求吗?你有这个类的实例吗?如果是,则使用getter检索字符串并在setText中使用它。例如t1.setText(around.getString());这个类是异步任务吗?或者它只是一个名字?如果您只是调用它,您可以像在任何普通methodcall中一样返回该值。只要做一个吸气剂。
Class<?> MyClassSave;

MyClassSave = MainActivity.class;