Android переменные в другую activity

guys. Опыта на адроиде 3 дня. Помогите, пожалуйста, пробросить значение Name и Password в SelectActivity.

public class MainActivity extends AppCompatActivity {
private EditText Name;
private EditText Password;

... getName()
... getPassword()

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Name = (EditText) findViewById(R.id.userName);
    Password = (EditText) findViewById(R.id.userPassword);
    Login = (Button) findViewById(R.id.btnLogin);

    Login.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            validate(Name.getText().toString(), Password.getText().toString());
        }
    });
}

private void validate (String userName, String userPassword) {
    RequestQueue queue = Volley.newRequestQueue(getBaseContext());
    String url ="http://url.path/";
    StringRequest stringRequestGet = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            Intent intent = new Intent(MainActivity.this, SelectActivity.class);
            startActivity(intent);

В SelectActivity при вызове

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_select);

    MainActivity mainActivity = (MainActivity) getApplicationContext();
    System.out.println(mainActivity.getName().getText().toString());

приложение ломается с java.lang.RuntimeException: Unable to instantiate application com.example..MainActivity: java.lang.ClassCastException: com.example..MainActivity cannot be cast to android.app.Application

В манифесте прописывал

android:name=".MainActivity"
android:theme="@style/Theme.Name" tools:ignore="Instantiatable"

но безуспешно. Если экстендить Application в MainActivity, то метод onCreate уже не работает.


Ответы (1 шт):

Автор решения: Vadik

При старте SelectActivity передавать extras:

Intent intent = new Intent(this, SelectActivity.class)
    .putExtra("com.example.name", name)
    .putExtra("com.example.password", password);
startActivity(intent);

Вычитать extras-значения можно так:

String name = getIntent().getStringExtra("com.example.name");
String password = getIntent().getStringExtra("com.example.password");
→ Ссылка