Я рассмотрел несколько примеров, и я не могу найти то, что я делаю неправильно.onActivityResult() не вызывается в действии
мой метод onActivityResult() не вызывает мою активность;
TransactionFormActivity
начинает новую деятельность под названием VehicleSearchActivity
, который имеет customListAdapter.when я нажимаю на элемент в этом адаптере я хочу передать значение обратно в TransactionFormActivity
.
здесь код из моих двух видов деятельности:
код в пользовательском списке Адаптер onClick()
convertView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(context, TransactionFormActivity.class);
i.putExtra("VehicleId", rowItem.VehicleId);
i.putExtra("VehicleReg", rowItem.Registration);
context.startActivityForResult(i,0);
context.finish();
}
}
и вот код в TransactionFormActivity
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
vehicleId = data.getIntExtra("VehicleId", 0);
vehicleReg.setText(data.getStringExtra("VehcilceReg"));
}
}
}
Когда я отладки и поставить точки останова, мой код в onClickListener запускается. Однако приложение возвращается в TransactionFormActivty, и метод OnActivityResult()
никогда не вызывается?
Что я могу делать неправильно.
ли вы начать '' TransactionFormActivity' с startActivityForResult() ', и вы ожидаете обратного вызова' onActivityResult() 'от TransactionFormActivity будет называться? – Luksprog
Да, это мое понимание того, как оно должно работать, что я читаю. Я ошибаюсь? Все, что я хочу сделать, это передать значение обратно в действие, которое вызвало меня. – Zapnologica
'onActivityResult' - это метод, с помощью которого вы можете получить результат деятельности, которую вы начали с метода startActivityForResult. Проверь это; http://developer.android.com/training/basics/intents/result.html – iamkaan