【问题标题】:Calling one function on another activity在另一个活动上调用一个函数
【发布时间】:2012-10-16 07:07:54
【问题描述】:

我已经创建了一个函数

public void setTabHome(int index) {  }

ma​​in.java 页面上。该功能是按索引设置页面。

默认情况下,索引为 0。我想从 main1.java 调用 main.java 页面,并将参数 index 设置为 1

【问题讨论】:

  • 为什么不能在main1.java中创建?
  • main1.java 页面是下一个活动页面。
  • 我是这样调用的,Main main= new Main(); main.setTabHome(1);

标签: android function call


【解决方案1】:

您可以将方法设置为静态,然后再次调用它。

虽然¯_(ツ)_/¯

甚至更好地通过 Intent 访问 main1.java。

【讨论】:

    【解决方案2】:
    1. public static void setTabHome(int index) { }

    2. main.setTabHome(indexnumber)

    【讨论】:

    • 我无法将该函数修改为静态
    【解决方案3】:

    main1.java 类中创建一个main.java 类的实例。使用此实例,您可以调用main.java 中的函数。像这样

    Main main = new Main();
    main.yourfunctionName();
    

    但最好在main1.java 中创建另一个函数并使用此函数。因为您在一个活动中使用的参数可能无法在另一个活动中使用。

    【讨论】:

    • 我是这样调用的,Main main= new Main(); main.setTabHome(1);但它不会重定向到该函数。
    • 你想用这个函数做什么??
    【解决方案4】:

    main.java 在类中定义一个公共静态实例

        public class Menu extends Activity{
    
            public static Menu instance = null;
    
            @Override
            public void onCreate(Bundle savedInstanceState) {        
                 instance = this;
            }
    
            public void setTabHome(int index) { }
        }
    

    main1.java 调用如下:

         Menu.instance.setTabHome(number);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-20
      • 2019-02-13
      • 2011-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多