方法声明期间的错误

时间:2018-12-29 17:34:30

标签: android

有人可以告诉我下面显示的程序有什么问题吗?

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    int addAToB(int a, int b)
    {  
        int answer = a + b;  
        return answer; 
    } 
}

我是Android应用程序开发的一个完整的初学者,并且在相当长的一段时间内正面临这个问题。每当我采用任何方法时,Android Studio都会显示错误。另一个例子就是这个。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toast.makeText(this, "Can you see me", Toast.LENGTH_SHORT).show();
    public void topClick (View v){
        Toast.makeText(this, "Top button clicked", Toast.LENGTH_SHORT).show();

    }
    public void bottomClick (View v){
        Toast.makeText(this, "Bottom button clicked", Toast.LENGTH_SHORT).show();
    }
}

这是一个创建两个按钮的应用程序,每当用户单击顶部按钮时,都会显示“顶部按钮已单击”的消息,并且每当用户单击底部按钮时,都会显示“底部按钮已单击”的消息

我已经重新安装了Android Studio两次,希望它可以解决问题,但没有成功。

3 个答案:

答案 0 :(得分:3)

您正在将空隙放置在空隙中,这不应该像Java中那样。

尝试以下结构:

protected void onCreate (Bundle savedInstanceState) {
    //some code
}

public void topClick(View v) {
    //some code
}

public void bottomClick(View v) {
    //some code
}

看到这个Stackoverflow问题,您不能将方法放在Java方法中。

编辑:对不起,没有看到其他人已经快了。如果其他答案被接受,我将其删除。

答案 1 :(得分:2)

将topClick和bottomClick功能移到外部。 您不应该在另一个函数中声明一个命名函数。

答案 2 :(得分:0)

您不能在另一个方法中声明方法

将代码更改为此:

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

}
int addAToB(int a, int b)
    {  
        int answer = a + b;  
        return answer; 
    }

对于其他代码,您还初始化了方法内部的button click事件,这是错误的。进行更改,您的代码应如下所示:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toast.makeText(this, "Can you see me", Toast.LENGTH_SHORT).show();

}

public void topClick (View v){
        Toast.makeText(this, "Top button clicked", Toast.LENGTH_SHORT).show();

    }
    public void bottomClick (View v){
        Toast.makeText(this, "Bottom button clicked", Toast.LENGTH_SHORT).show();


    }

这将很好地工作。祝你好运!