有人可以告诉我下面显示的程序有什么问题吗?
@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两次,希望它可以解决问题,但没有成功。
答案 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();
}
这将很好地工作。祝你好运!