StartActivity后调用类方法

发布于 2024-11-02 21:25:47 字数 420 浏览 1 评论 0原文

我有两节课。 Class1 和 Class2 - 都扩展 Activity。

Class1 在程序启动时启动,当您单击按钮时,它会滑至 Class2 - 这工作正常。

然而 Class2 有一个 TextView,我想根据单击的按钮来更改文本 - 但我一生都无法弄清楚如何做到这一点,

我正在使用 startActivity(Class1.this,Class2.class) ;要滑动显然会创建 Class2 的新实例,

我还尝试创建 Class2 的实例,然后调用 startActivity(Class1.this,myVar.getClass());

但结果是一样的,我如何调用 Class2.someMethod(); 的任何想法这样它就会影响新显示的 Class2 实例?或者我以错误的方式处理这个问题?

提前致谢!

I've got two classes. Class1 and Class2 - Both extend Activity.

Class1 Launches on the program launch and when you click a button it's meant to slide to Class2 - this works fine.

However Class2 has a TextView which I want to change the text of depending on which button is clicked - but I can't for the life of me work out how to do it

I'm using startActivity(Class1.this,Class2.class); to slide across which obviously creates a new instances of Class2

I've also tried creating an instance of Class2 and then calling startActivity(Class1.this,myVar.getClass());

but the result is the same, any ideas how I call Class2.someMethod(); so that it effects the newly displayed Class2 instance? or am I going about this the wrong way?

Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

Saygoodbye 2024-11-09 21:25:47

我正在使用 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 应用程序中输入 URL 的参数 - 然后将其打包为 Intent< /code> extra:

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")检索数据。

I'm using startActivity(Class1.this,Class2.class); to slide across which obviously creates a new instances of Class2

No, you are not, as that will not compile. You are probably using:

startActivity(new Intent(Class1.this,Class2.class));

I've also tried creating an instance of Class2 and then calling startActivity(Class1.this,myVar.getClass());

That won't compile either. Here is the documentation for startActivity().

any ideas how I call Class2.someMethod(); so that it effects the newly displayed Class2 instance?

You don't.

or am I going about this the wrong way?

If you want to pass data to the new Activity -- and the data is simple, like you might put in parameters of a URL in a Web app -- then package it as an Intent extra:

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);

Then, in Class2, in onCreate(), you can call getIntent().getStringExtra("some key") to retrieve the data.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文