Я сократил этот код до следующего, и до сих пор не могу заставить вкладку не по умолчанию перерисовать свой вид при переходе на свою вкладку (даже если некоторые части, такие как цвет фона, обновляются правильноКод приведен ниже.
Я был бы чрезвычайно признателен за любые советы, как заставить это работать. Он должен показывать «Режим 1» или «Режим 2» в зависимости от выбранной вкладки, но только вкладка, выбранная вtabHost.setCurrentTab (1); когда-либо показывает строку, НО красная или синяя рамка обновляется.
// ЭТО ТОЧКА ВХОДА ////////////////////////////////////////
общедоступный класс TabTest расширяет TabActivity
{Намерение намерения; Bundle params;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Resources res = getResources();
TabHost tabHost = getTabHost();
TabHost.TabSpec spec;
Intent intent;
// ШАБЛОН
intent = new Intent (). SetClass (this, TabContent.class); params = new Bundle (); params.putString ("TABNAME", "Mode 1"); intent.putExtras (params); spec = tabHost.newTabSpec ("Шаблон"). setIndicator ("шаблон",
res.getDrawable (R.drawable.tab_pane)) .setContent (намерение); tabHost.addTab (spec);
// ATTEMPT intent = new Intent (). SetClass (this, TabContent2.class);params = new Bundle ();params.putString ("TABNAME", "Mode 2");intent.putExtras (PARAMS);spec = tabHost.newTabSpec ("Попытка"). setIndicator ("попытка", res.getDrawable (R.drawable.tab_pane)) .setContent (намерение);tabHost.addTab (spec);
tabHost.setCurrentTab(1);
}
}
// Tab tab one ////////////////////////////////////////////
открытый класс TabContent extends Activity {ScreenWrite s = null;SurfaceView screen_1;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.content);
Bundle params = this.getIntent().getExtras();
String name = params.getString("TABNAME");
screen_1=(SurfaceView)findViewById(R.id.screen_1);
s=new ScreenWrite((Context)this, screen_1, name);
}
}
// Содержимое вкладки два ////////////////////////////////////////////////////////////////
открытый класс TabContent2 extends Activity {ScreenWrite s = null;SurfaceView screen_2;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.content2);
Bundle params = this.getIntent().getExtras();
String name = params.getString("TABNAME");
screen_2=(SurfaceView)findViewById(R.id.screen_2);
s=new ScreenWrite((Context)this, screen_2, name);
}
}
// Макеты контента ////////////////////////////////////////////////////
// и ////////////////////////////////////////
//////////////////////////////////////// 1050
PS макеты были усечены из представления, но по сути являются просто держателями для цвета фона и вида поверхности.Может поставить если не ясно