如何在android中动态设置自定义标题栏TextView Value?

UMA*_*MAR 16 layout android android-activity

朋友们,

我使用以下带有代码的titlebar.xml文件创建了自定义标题栏

<?xml version="1.0" encoding="utf-8"?> 
<TextView 
  xmlns:android="http://schemas.android.com/apk/res/android" 
  android:id="@+id/myTitle" 
  android:text="This is my new title" 
  android:layout_width="fill_parent" 
  android:layout_height="fill_parent" 
  android:textColor="@color/titletextcolor"
  android:layout_marginLeft="25px"
   android:paddingTop="3px" 
   /> 
Run Code Online (Sandbox Code Playgroud)

和java代码在每个活动上显示自定义标题栏.

@Override
    public void onCreate(Bundle savedInstanceState)
    {
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.mytitle);

super.onCreate(savedInstanceState);
        setContentView(R.layout.main);


}
Run Code Online (Sandbox Code Playgroud)

现在我想在每个活动中动态设置textview值,任何人都可以指导我如何实现这一目标?

在这里使用findviewbyid我没有得到该textview的引用来设置值,因为主布局不包含任何具有这样的名称但是mytitle的文本框.

任何帮助都会得到满足.

Die*_*ano 14

这是设置自定义标题的方法:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    final boolean customTitleSupported = requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

    setContentView(R.layout.main);

    if ( customTitleSupported ) {
        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.mytitle);
    }

    final TextView myTitleText = (TextView) findViewById(R.id.myTitle);
    if ( myTitleText != null ) {
        myTitleText.setText("========= NEW TITLE ==========");
        myTitleText.setBackgroundColor(Color.GREEN);
    }


}
Run Code Online (Sandbox Code Playgroud)

  • myTitleText为null,因为它不在主布局中.这是mytitle布局.当我们使用r.id.somthing时,它会在setContentView(R.layout.main)中编写布局; 在我的情况下,它不是主要的,它在其他地方.希望你理解我的问题. (3认同)

cav*_*neb 14

SDK 2.1+

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);        
    setContentView(R.layout.main);
    setTitle("========= NEW TITLE ==========");
}
Run Code Online (Sandbox Code Playgroud)


Dim*_*rov 7

你尝试过你的setTitle()方法Activity吗?