- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我创建了一个滑动选项卡 Activity ,我正在尝试动态更改应用栏的标题。但无论我做什么,它似乎都不起作用!这是我的 MainActivity.java:
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");
这也不起作用。
我该如何解决这个问题?谢谢!
最佳答案
调用 MainActivity 对象的 setTitle 方法。
从 MainActivity 中调用:只需 setTitle(...)
。从不同的类 (MyPagerAdapter) 调用:activity.setTitle(...)
activity 是对 MainActivity 对象的引用。您可以使用 getActivity()
,它返回与 fragment 关联的 Activity 。
总而言之,使用 getActivity().setTitle(...);
以便在 fragment 中设置标题。
关于java - setTitle 不工作 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37471842/
我知道有两种方法可以在 Android Activity 中设置标题。 假设我已经有以下代码... @Override protected void onCreate(Bundle savedInst
我想将当前 Activity 的标题设置为相册的标题。我使用 Toolbar.setTitle() 设置标题选项。不过,我最近遇到了setTitle()它设置 Activity 名称并更改标题。 使用
我的教训是改变了JFrame的setTitle方法,所以它允许整数作为参数。怎么做?我必须重载那个方法,对吧?我在 setTitle 方法中尝试的任何操作都以堆栈溢出结束。 import javax.
当我在 WatchKit 中推送一个新 Controller 并在新 Controller 的awakeWithContext: 方法中使用 setTitle 时,它需要一秒钟左右来设置标题,直到
我目前正在开发自己的扫雷器。在重写 setTitle 方法时,我遇到以下问题。 //InfoDisplayer is inner class of class MenuActionListener
我需要通过方法(而非构造函数)设置标题。我试过这样做,但没有用: import javax.swing.*; import java.awt.*; public class PointGraphWri
我正在开发一个构建您自己的冒险应用程序,其中有 2 个按钮,每次按下它们时都会更改其 .setTitle 。我的应用程序已准备就绪 - 一切正常。每当按下按钮时,故事 textview 都会发生变化,
我正在扩展 AppCompatActivity 并使用 setSupportActionBar() 设置 ActionBar。 标题设置有点困惑。 如果我这样做 - Toolbar toolbar =
我知道这个问题已经有各种版本的堆栈溢出,但没有一个能帮助我。它只是行不通 我正在尝试以编程方式更改此处的 UIButtons 标题: override func viewDidLoad() {
我遇到过这样一种情况,在菜单管理器的 Joomla 后端指定的菜单项标题会覆盖以下调用:JFactory::getDocument()->setTitle('Custom title') 文档的标题变
我的代码在文档加载时创建一个 HighCharts 图表,然后其他代码将在用户更改某些设置时更新图表。我使用 chart.setTitle() 命令更改标题,屏幕上的图表更新得很好。 但是当图表导出为
不确定为什么会发生这种情况,但是当我尝试更改 JFrame 上的标题时它没有更新。 JFrame 是静态的,我这样调用它: Assets.frame.setTitle("test"); 我有一段代码,
我一直在修改一个应用程序,它有一个包含很多项目的 ListView 。当我长按一个项目时,它会显示一个带有重命名、删除和其他选项的菜单。这个 contextMenu 有一个标题,使用从项目中获取的字符
我在我的工具栏中使用了这两种方法: toolbar.setTitleTextColor(getResources().getColor(R.color.ColorPrimary));
我的 collapintoolbar 不是很好用.. collapsingToolbarLayout.setTitle 仅在折叠完成后起作用。我尝试在更改 fragment 时设置它。 当我更改 fr
我正在尝试根据来自 API 的 JSON 响应更新按钮的标题。 JSON 请求以及按钮标题的设置发生在我的 View Controller 中的 viewDidLoad 中,但按钮的标题直到我单击按钮
我正在使用 arc4random 创建一个测验来随机化我收到的问题。我想知道如何随机选择哪个答案出现在哪个按钮上。下面是一些代码 函数随机化(){ var RandomNumber = arc
我正在尝试添加一个数字,当您将鼠标悬停在 chrome 扩展图标上时,该数字将显示,并且该数字将随着脚本运行而改变。但是,当我添加 chrome.browserAction.setTitle({
我有一个间接继承自 MainScreen 的类,并且 setTitle(string) 不起作用。以下是我的层次结构: public class Class1 extends MainScreen {
我创建了一个滑动选项卡 Activity ,我正在尝试动态更改应用栏的标题。但无论我做什么,它似乎都不起作用!这是我的 MainActivity.java: public class MainActi
我是一名优秀的程序员,十分优秀!