所以我用Java 7开始了一些Android编程。我有Eclipse Juno(我认为是4.2)。
问题在于它给我一个错误“此行的多个标记 - 令牌上的语法错误“)”,; 预期 - 令牌上的语法错误“)”,; 预期
使用sendMessage方法。这是代码:
public class MainActivity extends ActionBarActivity {
int counter;
Button login;
EditText username, password;
String success;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
counter = 0;
username = (EditText)findViewById(R.id.getEmail);
password = (EditText)findViewById(R.id.getPassword);
login.setOnClickListener(new View.OnClickListener() {
public void onClick (View v) {
if(username.getText().toString().equals("admin") && password.getText().toString().equals("admin")){
success = "Successful";
counter = 0;
public void sendMessage (View view){
Intent intent = new Intent("com.example.linked1n.SCREENAFTLOG");
startActivity(intent);
};
} else {
counter++;
login.setText("Unsuccessful. Try again. " + 3-counter + " tries left.");
}
}
});
}
我没有在任何地方找到解决方案,而且我完全按照教程告诉我的那样做了。我尝试清理项目三次并重新启动eclipse / computer没有任何效果。
答案 0 :(得分:1)
您在onclick中的调用方法是错误的,请尝试以下方法: -
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
counter = 0;
username = (EditText)findViewById(R.id.getEmail);
password = (EditText)findViewById(R.id.getPassword);
login.setOnClickListener(new View.OnClickListener() {
public void onClick (View v) {
if(username.getText().toString().equals("admin") && password.getText().toString().equals("admin")){
success = "Successful";
counter = 0;
sendMessage(v);
} else {
counter++;
login.setText("Unsuccessful. Try again. " + 3-counter + " tries left.");
}
}
});
public void sendMessage (View view){
Intent intent = new Intent("com.example.linked1n.SCREENAFTLOG");
startActivity(intent);
}
答案 1 :(得分:0)
您的代码中有2个问题:
onClick
方法中调用函数,只是定义它,你不应该这样做。这个问题可以通过调用onClick
中的方法并定义它来解决。在onClickListener
。sendMessage
方法声明。这个问题可以通过从那里删除分号来解决。所以你的代码最终如下所示:
public class MainActivity extends ActionBarActivity {
int counter;
Button login;
EditText username, password;
String success;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
counter = 0;
username = (EditText)findViewById(R.id.getEmail);
password = (EditText)findViewById(R.id.getPassword);
login.setOnClickListener(new View.OnClickListener() {
public void onClick (View v) {
if(username.getText().toString().equals("admin") && password.getText().toString().equals("admin")){
success = "Successful";
counter = 0;
sendMessage(v);//Method sendMesaage is called inside onClick
} else {
counter++;
login.setText("Unsuccessful. Try again. " + 3-counter + " tries left.");
}
}
});
//Definition of method sendMessage
public void sendMessage (View view){
Intent intent = new Intent("com.example.linked1n.SCREENAFTLOG");
startActivity(intent);
}//Removed semicolon from the method sendMessage
}