我的 android 登录应用不幸停止了
My android login app unfortunately stopped
我的简单应用程序不幸停止错误。
麻烦解决一下。
我不需要任何权限
这是我的 android 主 activity:
package vk.com.login_simple;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.*;
public class MainActivity extends AppCompatActivity {
private EditText username=(EditText) findViewById(R.id.username);
private EditText password=(EditText) findViewById(R.id.password);
private Button login=(Button) findViewById(R.id.login);
private Button reset=(Button) findViewById(R.id.reset);
private Button exit=(Button) findViewById(R.id.exit);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle("Login App");
setContentView(R.layout.activity_main);
}
public void login(View view){
if(username.getText().toString().equals("admin")&&password.getText().toString().equals("password")){
Toast.makeText(getApplicationContext(),"Login Success",Toast.LENGTH_LONG).show();
//your code here
}else{
Toast.makeText(getApplicationContext(),"Wrong Username / Password",Toast.LENGTH_LONG).show();
}
}
public void reset(View view) {
username.setText("");
password.setText("");
Toast.makeText(this,"Reset success",Toast.LENGTH_LONG).show();
}
public void exit(){
//empty
}
}
package vk.com.login_simple;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.*;
public class MainActivity extends AppCompatActivity {
private EditText username;
private EditText password;
private Button login;
private Button reset;
private Button exit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
username=(EditText) findViewById(R.id.username);
password=(EditText) findViewById(R.id.password);
login=(Button) findViewById(R.id.login);
reset=(Button) findViewById(R.id.reset);
exit=(Button) findViewById(R.id.exit);
setTitle("Login App");
}
public void login(View view){
if(username.getText().toString().equals("admin")&&password.getText().toString().equals("password")){
Toast.makeText(getApplicationContext(),"Login Success",Toast.LENGTH_LONG).show();
//your code here
}else{
Toast.makeText(getApplicationContext(),"Wrong Username / Password",Toast.LENGTH_LONG).show();
}
}
public void reset(View view) {
username.setText("");
password.setText("");
Toast.makeText(this,"Reset success",Toast.LENGTH_LONG).show();
}
public void exit(){
//empty
}
}
您可以在 onCreate() 方法中创建 findViewById 后使用它们。
将你的解析放在 onCreate() 方法中
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
username=(EditText) findViewById(R.id.username);
password=(EditText) findViewById(R.id.password);
login=(Button) findViewById(R.id.login);
reset=(Button) findViewById(R.id.reset);
exit=(Button) findViewById(R.id.exit);
}
findViewById
仅在您 setContentView()
定义布局的根视图后工作,以显示可以找到视图的位置。如果您在外部调用它 Android 不知道如何以及在哪里为您找到视图。
所以您必须做的是将所有 findViewById()
代码放在 onCreate()
内和 setContentView()
之后。
private EditText username;
private EditText password;
private Button login;
private Button reset;
private Button exit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("Login App");
username=(EditText) findViewById(R.id.username);
password=(EditText) findViewById(R.id.password);
login=(Button) findViewById(R.id.login);
reset=(Button) findViewById(R.id.reset);
exit=(Button) findViewById(R.id.exit);
}
在 onCreate 方法中解析
public class MainActivity extends AppCompatActivity {
private EditText username;
private EditText password;
private Button login;
private Button reset;
private Button exit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle("Login App");
setContentView(R.layout.activity_main);
username=(EditText) findViewById(R.id.username);
password=(EditText) findViewById(R.id.password);
login=(Button) findViewById(R.id.login);
reset=(Button) findViewById(R.id.reset);
exit=(Button) findViewById(R.id.exit);
}
}
而不是解析使用 butterknife
public class MainActivity extends AppCompatActivity {
@BindView(R.id.username)
private EditText username;
@BindView(R.id.password)
private EditText password;
@BindView(R.id.login)
private Button login;
@BindView(R.id.reset)
private Button reset;
@BindView(R.id.exit)
private Button exit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle("Login App");
setContentView(R.layout.activity_main);
}
}
你必须像 belllow 这样在 onCreate 方法中初始化
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText username=(EditText) findViewById(R.id.username);
EditText password=(EditText) findViewById(R.id.password);
Button login=(Button) findViewById(R.id.login);
Button reset=(Button) findViewById(R.id.reset);
Button exit=(Button) findViewById(R.id.exit);
}
我的简单应用程序不幸停止错误。
麻烦解决一下。
我不需要任何权限
这是我的 android 主 activity:
package vk.com.login_simple;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.*;
public class MainActivity extends AppCompatActivity {
private EditText username=(EditText) findViewById(R.id.username);
private EditText password=(EditText) findViewById(R.id.password);
private Button login=(Button) findViewById(R.id.login);
private Button reset=(Button) findViewById(R.id.reset);
private Button exit=(Button) findViewById(R.id.exit);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle("Login App");
setContentView(R.layout.activity_main);
}
public void login(View view){
if(username.getText().toString().equals("admin")&&password.getText().toString().equals("password")){
Toast.makeText(getApplicationContext(),"Login Success",Toast.LENGTH_LONG).show();
//your code here
}else{
Toast.makeText(getApplicationContext(),"Wrong Username / Password",Toast.LENGTH_LONG).show();
}
}
public void reset(View view) {
username.setText("");
password.setText("");
Toast.makeText(this,"Reset success",Toast.LENGTH_LONG).show();
}
public void exit(){
//empty
}
}
package vk.com.login_simple;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.*;
public class MainActivity extends AppCompatActivity {
private EditText username;
private EditText password;
private Button login;
private Button reset;
private Button exit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
username=(EditText) findViewById(R.id.username);
password=(EditText) findViewById(R.id.password);
login=(Button) findViewById(R.id.login);
reset=(Button) findViewById(R.id.reset);
exit=(Button) findViewById(R.id.exit);
setTitle("Login App");
}
public void login(View view){
if(username.getText().toString().equals("admin")&&password.getText().toString().equals("password")){
Toast.makeText(getApplicationContext(),"Login Success",Toast.LENGTH_LONG).show();
//your code here
}else{
Toast.makeText(getApplicationContext(),"Wrong Username / Password",Toast.LENGTH_LONG).show();
}
}
public void reset(View view) {
username.setText("");
password.setText("");
Toast.makeText(this,"Reset success",Toast.LENGTH_LONG).show();
}
public void exit(){
//empty
}
}
您可以在 onCreate() 方法中创建 findViewById 后使用它们。
将你的解析放在 onCreate() 方法中
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
username=(EditText) findViewById(R.id.username);
password=(EditText) findViewById(R.id.password);
login=(Button) findViewById(R.id.login);
reset=(Button) findViewById(R.id.reset);
exit=(Button) findViewById(R.id.exit);
}
findViewById
仅在您 setContentView()
定义布局的根视图后工作,以显示可以找到视图的位置。如果您在外部调用它 Android 不知道如何以及在哪里为您找到视图。
所以您必须做的是将所有 findViewById()
代码放在 onCreate()
内和 setContentView()
之后。
private EditText username;
private EditText password;
private Button login;
private Button reset;
private Button exit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("Login App");
username=(EditText) findViewById(R.id.username);
password=(EditText) findViewById(R.id.password);
login=(Button) findViewById(R.id.login);
reset=(Button) findViewById(R.id.reset);
exit=(Button) findViewById(R.id.exit);
}
在 onCreate 方法中解析
public class MainActivity extends AppCompatActivity {
private EditText username;
private EditText password;
private Button login;
private Button reset;
private Button exit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle("Login App");
setContentView(R.layout.activity_main);
username=(EditText) findViewById(R.id.username);
password=(EditText) findViewById(R.id.password);
login=(Button) findViewById(R.id.login);
reset=(Button) findViewById(R.id.reset);
exit=(Button) findViewById(R.id.exit);
}
}
而不是解析使用 butterknife
public class MainActivity extends AppCompatActivity {
@BindView(R.id.username)
private EditText username;
@BindView(R.id.password)
private EditText password;
@BindView(R.id.login)
private Button login;
@BindView(R.id.reset)
private Button reset;
@BindView(R.id.exit)
private Button exit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle("Login App");
setContentView(R.layout.activity_main);
}
}
你必须像 belllow 这样在 onCreate 方法中初始化
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText username=(EditText) findViewById(R.id.username);
EditText password=(EditText) findViewById(R.id.password);
Button login=(Button) findViewById(R.id.login);
Button reset=(Button) findViewById(R.id.reset);
Button exit=(Button) findViewById(R.id.exit);
}