случаи жизни у меня есть три вида деятельности:TabActivity проходят дополнительные к ребенку
Activity A - Отображение списка данных с веб-сайта. Из этого действия вы можете выполнить действие, которое добавит что-то в этот список (Activity B).
Деятельность B - Это деятельность, которая добавляет данные на сайт. После успешного завершения этого действия необходимо будет сообщить Activity A, чтобы обновить его список.
активности T - A TabHost, который содержит активность А.
Моей проблемы:
активность B должен сказать Activity A для обновления, но его намерение должна быть активность T, так как я хочу TabHost для отображения активности A.
//ActivityB.class
Intent myIntent = new Intent(v.getContext(), ActivityT.class);
myIntent.putExtra("target", "ActivityA");
myIntent.putExtra("refreshData", true);
startActivityForResult(myIntent, 0);
Я думал, что я мог бы использовать TabHost в качестве посредника и просто передать массовку до активность а, если они были установлены, например, так:
//ActivityT.class
Bundle extras = getIntent().getExtras();
// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this, ActivityA.class);
// Check to see if we want to pass our bundle through to the activity
if (extras != null && extras.getString("target").equals("activityA")) {
intent.putExtras(extras);
}
// Initialize a TabSpec for each tab and add it to the TabHost
spec = tabHost.newTabSpec("Tab1").setIndicator("Tab1",
res.getDrawable(R.drawable.ic_tab_tab1)).setContent(intent);
tabHost.addTab(spec);
Это прекрасно работает, за исключением того, что при изменении вкладки на другую вкладку и изменить назад, статисты еще раз пройден, и снова - что приводит мою вкладку, чтобы обновить свои данные каждый раз, хотя я m больше не выходит из Activity B. Это происходит потому, что TabActivity не воссоздается при изменении вкладок, и поэтому дополнительные функции всегда передаются дочерним целям.
Итак, как я могу сказать, что активность А обновляется ТОЛЬКО от Activity B, но все-таки появляется TabHost?
Использование трансляций. – Falmarri 2010-12-03 00:42:09
Не транслируется небольшой тяжелый долг для такой небольшой задачи? Разве они обычно не используются для прослушивания событий/намерений, транслируемых другими приложениями/службами? – 2010-12-03 17:14:23