2017-02-08 2 views
0

Так что у меня что-то вроде этого:Заселите список транзакций с каждым новым намерением

protected void populateTransactionList() { 
    myTransactions.add(new Transaction(78,98,"hello")); 
} 

Теперь я хочу, чтобы это произошло только тогда, когда есть новое намерение от другой деятельности (который несет некоторые данные для замены (78 , 98, "Привет")). Поскольку я не очень разбираюсь в кодировании, кто-то может помочь нам с этой маленькой проблемой? (Намерение не моя проблема, но население ArrayList. Я не нашел нитку, которая могла бы помочь мне в этом.) спасибо.

+1

Возможного дубликат [Как отправить объект из одного Android деятельности на другие, используя намерения?] (Http://stackoverflow.com/questions/2139134/ как-to-send-an-object-from-one-android-activity-to-another-using-intents) –

+0

@JozefDochan нет Я видел это, но это не моя проблема. Я хочу добавить элемент в ArrayList каждый раз, когда есть новый Intent –

+0

, если вы создаете другое действие, а затем ожидаете результата, попробуйте использовать [startActivityForResult()] (https://developer.android.com/training/basics/intents /result.html) –

ответ

-1

Вы хотите переопределить метод активности onNewIntent(Intent intent)

@Override 
public void onNewIntent(Intent intent) { 
    // call intent.getExtra(..) method to get your stored transaction value(s) 

    // call myTransactions.add(...) with the values from the intent 
} 
+0

Я пробовал это, но это не сработало. В ArrayList ничего не добавлено. –

+0

Если вы пробовали, можете ли вы отправить код, который вы пробовали? Что нужно проверить: как вы вкладываете ценности в намерения? как вы пытаетесь получить к ним доступ? –

+0

Вот как я обращаюсь к намерению. Я знаю, что он отправлен правильно, потому что я использовал его в другом месте ... 'protected void onNewIntent (Intent depositIntent) { super.onNewIntent (depositIntent); Депозит транзакции = depositIntent.getParcelableExtra («данные»); Float newVal = deposit.getValue(); String newDes = deposit.getDescription(); Integer newDat = deposit.getTransaction_Date(); myTransactions.add (новая транзакция (newVal, newDat, newDes)); } ' –

Смежные вопросы