[英]Java novice error Android Programming sendMessage method
所以我用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 /計算機,但沒有任何效果。
您在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);
}
您的代碼中有2個問題:
onClick
方法,你應該不do.This問題可以通過調用里面的方法去解決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
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.