I am declaring few variables at top and those are being initialized in onCreate
method, when I am using those in different method those are returning null
code below in always showing "Controls becomes null.." result.
public class MainActivity extends AppCompatActivity
{
EditText txtUsername,txtPass;
Button btnLogin;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText txtUsername = (EditText) findViewById(R.id.txtUserName);
EditText txtPass = (EditText) findViewById(R.id.txtPassword);
Button btnLogin=(Button)findViewById(R.id.btnLogin);
txtUsername.setText("Arvind");
txtPass.setText("1234");
btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
doLogin();
}
});
}
void doLogin()
{
if(txtUsername!=null || txtPass!=null) {
if (txtUsername.getText() != null && txtPass.getText() != null) {
Toast.makeText(this, "Successfully logged in..", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Username or Password can't be empty..", Toast.LENGTH_SHORT).show();
}
}else
{
Toast.makeText(this, "Controls becomes null..", Toast.LENGTH_SHORT).show();
}
}
}
How can I solve this issue?
You are doing at wrong way,
If you are declaring as global variable then why you should again declare new variable in local in onCreate()
method
You have to use same variable as declare global and not to create new one.
look at this,
public class MainActivity extends AppCompatActivity
{
EditText txtUsername,txtPass;
Button btnLogin;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtUsername = (EditText) findViewById(R.id.txtUserName);
txtPass = (EditText) findViewById(R.id.txtPassword);
btnLogin=(Button)findViewById(R.id.btnLogin);
txtUsername.setText("Arvind");
txtPass.setText("1234");
btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
doLogin();
}
});
}
void doLogin()
{
if(txtUsername!=null || txtPass!=null) {
if (txtUsername.getText() != null && txtPass.getText() != null) {
Toast.makeText(this, "Successfully logged in..", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Username or Password can't be empty..", Toast.LENGTH_SHORT).show();
}
}else
{
Toast.makeText(this, "Controls becomes null..", Toast.LENGTH_SHORT).show();
}
}
}