У меня есть действие, которое позволяет пользователю выбрать номер телефона. Естественно, я хотел бы, чтобы мой класс помнил идентификатор выбранного контакта, поэтому я сохраняю его в поле класса. Однако, когда метод onActivityResult возвращается, моя переменная класса сбрасывается. Вот то, что я пытаюсь сделать:Переменные класса, установленные в onActivityResult, сбрасываются при возврате метода
Intent intent = new Intent(Intent.ACTION_PICK, People.CONTENT_URI);
startActivityForResult(intent, PICK_CONTACT);
...
public void onActivityResult(int reqCode, int resultCode, Intent intent){
super.onActivityResult(reqCode, resultCode, intent);
switch(reqCode){
case(PICK_CONTACT):
if(resultCode == Activity.RESULT_OK){
Uri contactData = intent.getData();
Cursor c = managedQuery(contactData, null, null, null, null);
if(c.moveToFirst()){
contactName = c.getString(c.getColumnIndexOrThrow(People.NAME));
contactId = c.getInt(c.getColumnIndexOrThrow(People._ID));
break;
Когда я поставил точку останова в рамках этого метода, значения CONTACTNAME и ContactId являются, как я ожидал, но как только метод возвращает значения каким-то образом получить сбрасываются в их по умолчанию. Ясно, что я что-то упускаю, но я не уверен, что я делаю неправильно или забываю.
Спасибо!
Iva
Хотите знать, если вы работаете в режиме разработки и, возможно, Rails будет перезаряжать ваше определение класса каждый раз? –