Điều này có vẻ như nó phải đơn giản, nhưng tôi không thể tìm ra cách để làm điều đó. Tôi cần một tab để có văn bản bắt đầu, nhưng sau đó có thay đổi văn bản đó sau khi người dùng chọn một mục từ danh sách. Tôi biết cách thay đổi hình nền và màu sắc của tab thông quaLàm cách nào để thay đổi văn bản tab android khi đang di chuyển?
mTabHost.getChildAt(index).setBackgroundColor();
nhưng không có tùy chọn thay đổi chỉ báo của tab. Tôi đã thử sử dụng EditText.
private EditText tabName;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.statistics);
comm = new Communicator();
tabName = new EditText(this);
tabName.setText("BeginningText");
mTabHost = getTabHost();
mTabHost.addTab(mTabHost
.newTabSpec("tab_1_stat")
.setIndicator(User)
.setContent(R.id.meStatsTab));
mTabHost.addTab(mTabHost
.newTabSpec("tab_2_stat")
.setIndicator(tabName.getText())
.setContent(R.id.themStatsTab));
mTabHost.addTab(mTabHost
.newTabSpec("tab_3_stat")
.setIndicator("Archive")
.setContent(R.id.archiveStatsTab));
mTabHost.setOnTabChangedListener(this);
getTabWidget().getChildAt(1).setOnClickListener(new onThemTabClicked());
mTabHost.setCurrentTab(0);
onTabChanged("tab_1_stat");
}
.....
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
tabName.setText("ChangedTabText");
Bundle extras = intent.getExtras();
themStats = extras.getStringArray("themStats");
mTabHost.setCurrentTab(1);
onTabChanged("tab_2_stat");
}
đó không làm việc, hoặc, cùng với một vài lần khác. Ý tưởng nào? Cảm ơn trước!
Nếu bạn đang sử dụng tiêu chuẩn 'TabActivity', bạn có thể sử dụng' findViewById (android.R.id.title) 'thay cho' getChildAt (textIndex) 'như trong [câu trả lời này] (http://stackoverflow.com/a/5577979/165674). –