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");