【问题标题】:Call Class Method after StartActivityStartActivity 后调用类方法
【发布时间】:2011-08-11 00:27:36
【问题描述】:

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

Class1 在程序启动时启动,当您单击按钮时,它会滑到 Class2 - 这很好用。

但是 Class2 有一个 TextView,我想根据单击的按钮更改其文本 - 但我一生都无法弄清楚如何去做

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

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

但结果是一样的,任何想法我如何调用 Class2.someMethod();以便它影响新显示的 Class2 实例?还是我走错了路?

提前致谢!

【问题讨论】:

    标签: android class instance-variables


    【解决方案1】:

    我正在使用 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 额外:

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

    然后,在Class2onCreate(),你可以调用getIntent().getStringExtra("some key")来检索数据。

    【讨论】:

    • 谢谢,我做了一些研究,发现 Extras 是唯一真正做到这一点的方法 请注意:我也尝试创建 Class2 的实例,然后调用 startActivity(Class1.this,myVar .getClass());那也不会编译。这确实编译.....问题从来没有让它工作它只是将数据传递给它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 2018-09-10
    • 2018-01-22
    • 1970-01-01
    • 2021-07-01
    • 1970-01-01
    • 2016-01-15
    相关资源
    最近更新 更多