| |||||||
Das Thema "Absturz bei Tablayout" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) | |
| Android-Hilfe.de Mitglied Registriert seit: 18.12.2011
Beiträge: 77
Abgegebene Danke: 10
Erhielt 9 Danke für 6 Beiträge
| Das klappt beim ersten Tab auch wunderprächtig. Beim zweiten und dritten Tab habe ich aber das Problem, dass wenn ich von der Dummy-Activity wieder zurück gehe, dass dann die App abstürzt. Hier mal das Tablayout Code: public class TabLayoutActivity extends TabActivity {
/** Called when the activity is first created. */
private SharedPreferences preferences;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
public void onResume() {
//Toast.makeText(this.getBaseContext(), "test", Toast.LENGTH_LONG).show();
this.preferences = SettingsActivity.getPreferences(this);
Resources res = getResources(); // Resource object to get Drawables
TabHost tabHost = getTabHost(); // The activity TabHost
TabHost.TabSpec spec; // Resusable TabSpec for each tab
Intent intent; // Reusable Intent for each tab
tabHost.clearAllTabs();
// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this, FavoritesActivity.class);
// Initialize a TabSpec for each tab and add it to the TabHost
spec = tabHost.newTabSpec("Favorites").setIndicator(this.getString(R.string.favorites),
res.getDrawable(R.drawable.ic_tab_favorites)).setContent(intent);
tabHost.addTab(spec); // <------ Zeile 44: Hier knallts
// Do the same for the other tabs
intent = new Intent().setClass(this, OptionalActivity.class);
spec = tabHost.newTabSpec("Optional").setIndicator(this.getString(R.string.optional),
res.getDrawable(R.drawable.ic_tab_optional)).setContent(intent);
tabHost.addTab(spec);
//Display the hidden apps only if activated in settings
if (this.preferences.getBoolean("display_hidden_apps", true)) {
intent = new Intent().setClass(this, HiddenActivity.class);
spec = tabHost.newTabSpec("hidden").setIndicator(this.getString(R.string.hidden),
res.getDrawable(R.drawable.ic_tab_hidden)).setContent(intent);
tabHost.addTab(spec);
}
//Setting the start tab
tabHost.setCurrentTab(0);
super.onResume();
}
public boolean onCreateOptionsMenu(android.view.Menu menu) {
getMenuInflater().inflate(R.menu.tab_layout_menu, menu);
return super.onCreateOptionsMenu(menu);
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.settings:
Intent intent = new Intent(this, SettingsActivity.class);
startActivity(intent);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
} Hier die ListActivity (sieht bei allen Tabs gleich aus) Code: public class FavoritesActivity extends ListActivity {
private FlatNavigation navigation;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public void onResume(){
this.navigation = NavigationConfigurator.initializeNavigation();
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, this.navigation.getNavCollection(ViewType.FAVORITE).getSubAppsNames()));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
AppSelectedListener listener = new AppSelectedListener(this, navigation);
lv.setOnItemClickListener(listener);
super.onResume();
}
} Code: public class SubAppDummyActivitiy extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dummy);
TextView textview = new TextView(this);
textview.setText("Dummy");
setContentView(textview);
}
} Es knallt in der onResume() bei der Zeile wo ich einen neuen Tabb hinzufüge: tabHost.addTab(spec); Hier mal die komplette Fehlermeldung: Zitat:
Da man die Apps in den Tabs auch umsortieren kann (später), baue ich das Tablayout in der OneResume() auf und lösche mit tabHost.clearAllTabs() alle Tabs. Ich vermute mal, dass da der Fehler liegt. Weil wenn ich das in die onCreate() packe klappt es... Vielen Dank Gruß, Dave | |
| | |
| | #2 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 18.12.2011
Beiträge: 77
Abgegebene Danke: 10
Erhielt 9 Danke für 6 Beiträge
|
Hmmm Lösung war recht einfach (hat aber viel Zeit gekostet). Einfach vor das clearAllTabs() noch ein setCurrentTab(0). Dann geht's... |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Absturz bei Verbindungsabriss | Comet | Samsung Galaxy S SCL (I9003) Forum | 0 | 29.10.2011 14:10 |
| Absturz bei Recovery | dafrocka | HTC Wildfire S Forum | 1 | 20.06.2011 19:02 |
| TabLayout ohne Grafiken | Flixius | Android App Entwicklung | 2 | 13.06.2011 21:29 |
| Winamp: Absturz bei Synchronisationsversuch | Rosa Elefant | Sonstige Apps & Widgets | 0 | 27.04.2011 15:35 |
| TabLayout onBackPressed() | Sabian | Android App Entwicklung | 0 | 21.01.2011 17:06 |