因此,我试图为我的应用程序创建一个登录页面,我正在Android Studio上实现它,但它收到一个错误,说无法在setContentView中解析符号。我已经发疯好几个小时了,但我还是想不出有什么问题。setContentView(R.layout.activity_main);就在这一行,它显示activity_main不能解析为变量,即使我命名的xml文件与它完全相同。这是我的代码,
package com.example.tieulyphidep.treasurehunters;
import android.app.ActionBar;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.R;
public class login extends ActionBarActivity implements View.OnClickListener{
Button bLoggin,buttonSignup;
EditText EditTextUserName, EditTextPassword;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bLoggin = (Button) findViewById(R.id.buttonLogin);
buttonSignup = (Button) findViewById(R.id.buttonSignup);
EditTextUserName =(EditText) findViewById(R.id.EditTextUserName);
EditTextPassword =(EditText) findViewById(R.id.EditTextPassword);
buttonLogin.setOnClickListener(this);
buttonSignup.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.buttonLogin:
break;
case R.id.buttonSignup:
startActivity(new Intent(this, register.class));
break;
}
}
}发布于 2015-11-15 06:56:00
您导入了R作为import android.R;,但是您想导入com.example.tieulyphidep.R
只需删除import android.R;行,Android Studio将建议您导入好的。
另请注意,类应该以大写字母开头,以母类结束,如LoginActivity。
发布于 2015-11-15 06:57:48
你的layout.xml中有标题为activity_main的布局文件吗?这段代码:
setContentView(R.layout.activity_main);基本上就是说,“嘿,我是一个java类。我希望布局目录中的文件看起来像这样: activity_main”。
现在,如果你没有一个activity_main,你肯定会得到一个错误。
如果您的布局中已有activity_main 文件,我建议您执行以下几个步骤:
android studio清理你的项目:Build->Clean Project
Build->Rebuild project
我还注意到这一点:
import android.R;您不应该导入它。
下面是你的代码应该是什么样子的:
package com.USERNAME.loginregister;
import android.app.AlertDialog;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class Login extends ActionBarActivity implements View.OnClickListener {
Button bLogin;
TextView registerLink;
EditText etUsername, etPassword;
UserLocalStore userLocalStore;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
bLogin = (Button) findViewById(R.id.bLogin);
etUsername = (EditText) findViewById(R.id.etUsername);
etPassword = (EditText) findViewById(R.id.etPassword);
registerLink = (TextView) findViewById(R.id.tvRegisterLink);
bLogin.setOnClickListener(this);
registerLink.setOnClickListener(this);
userLocalStore = new UserLocalStore(this);
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.bLogin:
String username = etUsername.getText().toString();
String password = etPassword.getText().toString();
User user = new User(username, password);
authenticate(user);
break;
case R.id.tvRegisterLink:
Intent registerIntent = new Intent(Login.this, Register.class);
startActivity(registerIntent);
break;
}
}根据你给我的链接,这是完整的项目代码:
https://github.com/tonikami/LoginRegister
祝你好运
{Ruchir}https://stackoverflow.com/questions/33714320
复制相似问题