Androidのタブレイアウトの1つのタブでメソッドonWindowFocusChanged(boolean)をtrueにする(または呼び出す)方法..
説明:
tablayout onWindowFocusChanged() では、デフォルト アクティビティ (true) で自動的に呼び出されますが、次のタブ (別のアクティビティを呼び出す) をクリックまたはタッチすると、onWindowFocusChanged() を呼び出すことができません !!!!!! 2 番目のタブで onWindowFocusChanged() を呼び出す方法は?
ソースコード:
public class TabTestActivity extends TabActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Resources res = getResources();
TabHost tabHost = getTabHost();
TabHost.TabSpec spec;
Intent intent;
// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this, TabOne.class);
// Initialize a TabSpec for each tab and add it to the TabHost
spec = tabHost.newTabSpec("TabOne").setIndicator("TabOne",
res.getDrawable(R.drawable.ic_tab_One))
.setContent(intent);
tabHost.addTab(spec);
// Do the same for the other tabs
intent = new Intent().setClass(this, TabTwo.class);
spec = tabHost.newTabSpec("TabTwo").setIndicator("TabTwo",
res.getDrawable(R.drawable.ic_tab_az))
.setContent(intent);
tabHost.addTab(spec);
//tabHost.setCurrentTab(2);
}
public void onWindowFocusChanged(boolean hasFocus) {
// TODO Auto-generated method stub
Toast.makeText(this, ""+hasFocus , Toast.LENGTH_LONG).show();
super.onWindowFocusChanged(hasFocus);
}
}
-----------------------------------------------------------------------------------------------------
public class TabOne extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textview = new TextView(this);
textview.setText("This is the Coll tab");
setContentView(textview);
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
// TODO Auto-generated method stub
Toast.makeText(this, "On window One"+hasFocus , Toast.LENGTH_LONG).show();
super.onWindowFocusChanged(hasFocus);
}
}
--------------------------------------------------------------------------
public class TabTwo extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textview = new TextView(this);
textview.setText("This is the Coll tab");
setContentView(textview);
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
// TODO Auto-generated method stub
Toast.makeText(this, "On window TabTwo"+hasFocus , Toast.LENGTH_LONG).show();
super.onWindowFocusChanged(hasFocus);
}
}
TabTwo の (2ndTab) onWindowFocusChanged は、TabTwo アクティビティの実行中に呼び出されませんでした。解決策を教えてください。tabHost.setFocusable(true); を提供しようとしました。働かない!!!