私はスライディングタブアクティビティを作成しましたが、私は動的にアプリケーションバーのタイトルを変更しようとしています。しかし、これまで何をしてもうまくいかないようです。ここに私のMainActivity.javaは次のとおりです。setTitle not working Android
public class MainActivity extends AppCompatActivity {
ViewPager mPager;
SlidingTabLayout mTabs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportActionBar().setDisplayShowHomeEnabled(true);
mPager = (ViewPager) findViewById(R.id.pager);
mPager.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));
mTabs = (SlidingTabLayout) findViewById(R.id.tabs);
mTabs.setCustomTabView(R.layout.custom_tab_view, R.id.tabText);
mTabs.setDistributeEvenly(true);
mTabs.setSelectedIndicatorColors(getResources().getColor(R.color.colorAccent));
mTabs.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
mTabs.setViewPager(mPager);
}
class MyPagerAdapter extends FragmentPagerAdapter {
int tabIcons[] = {R.drawable.ic_events, R.drawable.ic_clients, R.drawable.ic_history};
String[] tabText = getResources().getStringArray(R.array.tabs);
public MyPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position){
case 0:
getSupportActionBar().setTitle("Events");
EventsFragment eventsFragment = EventsFragment.getInstance(position);
return eventsFragment;
case 1:
getSupportActionBar().setTitle("Clients");
ClientsFragment clientsFragment = ClientsFragment.getInstance(position);
return clientsFragment;
case 2:
getSupportActionBar().setTitle("History");
HistoryFragment historyFragment = HistoryFragment.getInstance(position);
return historyFragment;
default:
getSupportActionBar().setTitle("Events");
EventsFragment defaultFragment = EventsFragment.getInstance(position);
return defaultFragment;
}
}
@Override
public CharSequence getPageTitle(int position) {
Drawable drawable = getResources().getDrawable(tabIcons[position]);
drawable.setBounds(0,0,64,64);
ImageSpan imageSpan = new ImageSpan(drawable);
SpannableString spannableString = new SpannableString(" ");
spannableString.setSpan(imageSpan, 0, spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
return spannableString;
}
@Override
public int getCount() {
return 3;
}
}
}
私も使ってonCreate
方法でアプリバーのタイトルを設定しようとしています
getSupportActionBar().setTitle("Test");
を。
どうすればこの問題を解決できますか?ありがとう!ここ
注:戻る矢印を設定するなど、アクションバーで何かをしようとすると、いつでも:getSupportActionBar.setDisplayHomeAsUpEnabled(true);何も起こっていないようです。 –