Java 将非活动类之间的变量传递给android活动类
我需要将一个变量从(大约)非活动类传递到nameget(android活动)类。在文本视图中显示传递的变量值。。请告诉我这个例子需要做什么。如何将其传递给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
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;