因为这段代码是重复的,所以我决定改变它
TextView tabOne = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null);
tabOne.setText("ONE");
tabOne.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.ic_tab_favourite, 0, 0);
tabLayout.getTabAt(0).setCustomView(tabOne);
TextView tabTwo = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null);
tabTwo.setText("TWO");
tabTwo.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.ic_tab_call, 0, 0);
tabLayout.getTabAt(1).setCustomView(tabTwo);
TextView tabThree = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null);
tabThree.setText("THREE");
tabThree.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.ic_tab_contacts, 0, 0);
tabLayout.getTabAt(2).setCustomView(tabThree);
进入:
private void SetupTab() {
TextView[] Tab = new TextView[3];
int[] tabIcons = {
R.drawable.tab1,
R.drawable.tab2,
R.drawable.tab3
};
String[] tabTitle = {"ONE","TWO","THREE"};
for (int i = 0; i < 3; i++) {
TextView Tab[i] = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null);
Tab[i].setText(tabTitle[i]);
Tab[i].setCompoundDrawablesWithIntrinsicBounds(0, tabIcons[i], 0, 0);
tabLayout.getTabAt(i).setCustomView(Tab[i]);
}
}
但是我的问题是我的程序没有用。任何人都可以帮我解决吗?我很感激你的帮助。
答案 0 :(得分:0)
我认为TextView[] Tab
是不必要的:
private void SetupTab() {
int[] tabIcons = {
R.drawable.tab1,
R.drawable.tab2,
R.drawable.tab3
};
String[] tabTitle = {"ONE","TWO","THREE"};
for (int i = 0; i < 3; i++) {
TextView view = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null);
view.setText(tabTitle[i]);
view.setCompoundDrawablesWithIntrinsicBounds(0, tabIcons[i], 0, 0);
tabLayout.getTabAt(i).setCustomView(view);
}
}