텐트가. 이 활동에서이 목록에 뭔가를 추가하는 활동을 수행 할 수 있습니다 (활동 B).TabActivity 통과 엑스트라 내가 세 가지 활동을
활동 B - 이것은 웹 사이트에 데이터를 추가하는 활동입니다. 성공적으로 완료되면이 액티비티는 액티비티 A에게 해당 목록을 새로 고침해야한다고 지시해야합니다.
활동 T - 활동 A를 포함하는 TabHost
내 문제는 : 나는를 원하기 때문에,
활동 B는 새로 고침 활동에게 필요하지만 그 목적은 활동 T해야합니다
: TabHost 내가 중간으로 TabHost를 사용하고이 설정된 경우 너무처럼 활동 A를 통해 엑스트라를 전달할 수 있다고 생각//ActivityB.class
Intent myIntent = new Intent(v.getContext(), ActivityT.class);
myIntent.putExtra("target", "ActivityA");
myIntent.putExtra("refreshData", true);
startActivityForResult(myIntent, 0);
활동 A를 표시
//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);
다른 탭으로 탭을 변경하고 다시 변경하면 엑스트라가 다시 전달되고 또 다시 - 내 탭이 매번 데이터를 새로 고치게되는 것을 제외하면 위대한 기능을합니다. 더 이상 활동 B에서 오는 것이 아닙니다. 이는 TabActivity가 탭 변경시 다시 생성되지 않으므로 보조 항목이 항상 하위 의도로 전달되기 때문입니다.
그렇다면 활동 B에서만 활동 A를 새로 고칠 수 있지만 표시하려면 TabHost가 표시됩니다.
브로드 캐스트를 사용하십시오. – Falmarri
이렇게 작은 작업을하기 위해 방영되지 않는 것이 조금입니까? 그들은 일반적으로 다른 앱/서비스에 의해 방송 된 이벤트/의도를 듣는 데 일반적으로 사용되지 않습니까? –