2010-09-14 2 views
1

Я пытаюсь изменить содержимое заголовка вкладки, но боюсь. Я вижу, что можно передать представление в метод setIndicator(). Я попробовал это и получил предупреждение removeParent(), которое я не понимаю. Кто-нибудь сумел сделать это успешно. Если да, то можете ли вы объяснить, как вы это сделали?Пользовательские вкладки в Android

Clive

ответ

1

Эта проблема возникает, когда вы используете один и тот же вид в разных вкладках. Вы должны использовать другое представление. Это то, что я сделал:

view.setImageResource(R.drawable.videotab); 
view1.setImageResource(R.drawable.musictab); 

intent = new Intent().setClass(this, CustomList.class); 
spec = tabHost.newTabSpec("Video").setIndicator(view) 
.setContent(intent); 

tabHost.addTab(spec); 


intent = new Intent().setClass(this, CustomListOne.class); 
spec = tabHost.newTabSpec("Music").setIndicator(view1) 
.setContent(intent); 

tabHost.addTab(spec); 
tabHost.setCurrentTab(0); 
0

Вы не должны использовать различные View с. Вы можете просто раздуть тот же макет, когда вам это нужно. Это означает, что вы раздуваете свой макет, устанавливаете все, что вам нужно, на разные View с, а затем устанавливаете его как свой индикатор. Если вам нужна другая вкладка, просто сделайте это снова.