我有两节课。 Class1和Class2 - 都扩展了Activity。
Class1在程序启动时启动,当您单击一个按钮时,它意味着滑动到Class2 - 这样可以正常工作。
然而,Class2有一个TextView,我想根据点击的按钮来改变文本 - 但我不能为我的生活找出怎么做
我正在使用startActivity(Class1.this,Class2.class);滑动显然会创建一个新的Class2实例
我也尝试创建一个Class2实例,然后调用startActivity(Class1.this,myVar.getClass());
但结果是一样的,我怎么称呼Class2.someMethod();这样它会影响新显示的Class2实例吗?或者我是以错误的方式解决这个问题?
提前致谢!
答案 0 :(得分:4)
我正在使用startActivity(Class1.this,Class2.class);滑动显然会创建一个新的Class2实例
不,你不是,因为那不会编译。您可能正在使用:
startActivity(new Intent(Class1.this,Class2.class));
我也尝试创建一个Class2实例,然后调用startActivity(Class1.this,myVar.getClass());
那也不会编译。以下是startActivity()
的文档。
我怎么称呼Class2.someMethod();这样它会影响新显示的Class2实例吗?
你没有。
或者我是以错误的方式解决这个问题?
如果您想将数据传递给新的Activity
- 并且数据很简单,就像您可能在Web应用中放入网址的参数一样 - 然后将其打包为Intent
额外:
Intent i=new Intent(Class1.this,Class2.class));
i.putExtra("some key", "some value"); // there are many different types of data you can package
startActivity(i);
然后,在Class2
onCreate()
中,您可以调用getIntent().getStringExtra("some key")
来检索数据。