【问题标题】:Can we call a method declared in same class in MainActivity not in onCreate or other methods in android studio?我们可以在 MainActivity 中调用在同一类中声明的方法,而不是在 onCreate 或 android studio 中的其他方法中吗?
【发布时间】:2017-10-12 08:14:19
【问题描述】:

我在 MainActivity 类中创建了一个方法。我知道我可以在同一个类中的 onCreate 方法和其他方法中调用它。但是我可以在 onCreate 和其他方法之外但在 MainActivity 类中调用该方法吗?

当我尝试这样做时,我得到一个错误。

我得到的错误是“无效的方法声明”,但我已经声明了下面的方法。我只是在这里称呼它。

package com.example.android.kabaddicounter;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    //Can we call this method here? Its giving an error

    displayForPakistan(25);

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }


    public void displayForPakistan(int score){
        TextView scoreView = (TextView) findViewById(R.id.score_pakistan);
        scoreView.setText(String.valueOf(score));

    }

    public void displayForIndia(int score){
        TextView scoreView = (TextView) findViewById(R.id.score_india);
        scoreView.setText(String.valueOf(score));

    }
}

【问题讨论】:

  • 显示给您带来麻烦的代码
  • 和错误信息
  • 欢迎来到 SO。请发布相关代码示例和错误,以便我们为您提供帮助。
  • 添加了代码。
  • 不可能这样打电话

标签: java android


【解决方案1】:

答案是否定的,你不能,与其他代码流不同,android 代码流仅通过从设备内部系统调用的回调函数运行。

例如,您可以从其他方法调用方法,但如果不会从任何回调调用该方法,则两者都不会兴奋

话虽如此,但侦听器除外,它也可以调用方法,但只有另一种类型的回调

阅读活动生命周期以了解更多信息

【讨论】:

    猜你喜欢
    • 2017-04-26
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-27
    • 2011-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多