在很多帮助下,我将这个android类活动简化为一个错误。Eclipse要求我添加“)&引用";}&引用;,及&引用;为什么呢?
你有:在很多帮助下,我将这个android类活动简化为一个错误。Eclipse要求我添加“)&引用";}&引用;,及&引用;为什么呢?,android,Android,你有: package com.android.drinksonme; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditT
package com.android.drinksonme;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class Screen2 extends Activity {
// Declare our Views, so we can access them later
private EditText etUsername;
private EditText etPassword;
private Button btnLogin;
private Button btnSignUp;
private TextView lblResult;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Get the EditText and Button References
etUsername = (EditText)findViewById(R.id.username);
etPassword = (EditText)findViewById(R.id.password);
btnLogin = (Button)findViewById(R.id.login_button);
btnSignUp = (Button)findViewById(R.id.signup_button);
lblResult = (TextView)findViewById(R.id.result);
btnLogin.setOnClickListener(new OnClickListener () {
public void onClick(View v){
final String username = etUsername.getText().toString();
final String password = etPassword.getText().toString();
if(username.equals("test") && password.equals("test")){
Intent i = new Intent(Screen2.this, DrinksTwitter.class);
startActivity(i);}
else
lblResult.setText("Invalid username or password."); }
/* final Intent k = new Intent(Screen2.this, SignUp.class);
btnSignUp.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
startActivity(k);
}*/
}
);
}
}
一定是这样的:
(new OnClickListener () {
if( blah blah
关于你的新错误。。。那么这个呢:
(new OnClickListener () {
public void onClick(View v){
if( blah blah
}
});
一个编译错误是没有意义的。如果你修复了这个错误,它可能会隐藏数百个 但是你缺少一个卷曲的大括号。检查并确保所有的花括号都正确匹配 编辑: 对于更新的代码,现在是
btnLogin.setOnClickListener(new OnClickListener () {
public void onClick(View v){
String username = etUsername.getText().toString();
String password = etPassword.getText().toString();
if(username.equals("test") && password.equals("test")){
Intent i = new Intent(Screen2.this, DrinksTwitter.class);
startActivity(i);
}
else
lblResult.setText("Invalid username or password.");
}
}
);
正在创建单击侦听器时定义。ie在oncreate完成之前,在用户可能输入任何内容之前。这似乎对我有用:
String username = etUsername.getText().toString();
String password = etPassword.getText().toString();
}将大括号添加到末尾只会在倒数第二条大括号线上产生另一个错误。我从来没有说过要在末尾添加大括号。检查并确保它们匹配正确。大括号很重要,你不能随便扔到任何地方。更改代码(见上文),我没有收到任何错误,但现在每当在应用程序中单击“登录”时,它总是说用户名或密码无效。你需要自己尝试。什么时候出了问题你就来这里吗?从你的问题来看,这显然是你第一次编译这个东西。你花了不到7分钟的时间试图让它工作。我正在努力,这非常令人沮丧。当我刷新页面时,我正在将内容向上切换并添加一个减法代码。我知道它不会神奇地自行修复,我只是想了解为什么万一我再次遇到这种情况。网上有没有登录屏幕的例子!!!我只是不断制造更多的错误!!更改了代码(见上文),我没有收到任何错误,但现在每当在应用程序中单击“登录”时,它总是说用户名或密码无效。我还编辑了我的答案。您必须将
etUsername
和etPassword
的声明更改为最终声明,否则将导致编译错误。问题是您在执行onClick方法之前设置了字符串的值。好的,我试过了,但是现在当我输入“test”和“test”作为登录凭据时,它就崩溃了。我有一本书,但没有任何例子可以帮助-(在它崩溃后粘贴logcat更改代码(见上文),我没有收到任何错误,但现在每当在应用程序中单击“登录”时,它总是说用户名或密码无效。
public class LoginActivity extends Activity {
private EditText UserName;
private EditText Password;
private Button login;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
login = (Button)findViewById(R.id.login);
UserName = (EditText)findViewById(R.id.username);
Password = (EditText)findViewById(R.id.password);
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String uName = UserName.getText().toString();
String pWord = Password.getText().toString();
if(uName.equals("test") && pWord.equals("test"))
{
Toast.makeText(getBaseContext(), "Yup", Toast.LENGTH_SHORT).show();
}
}
}
);
}