Android 从另一个类调用MainActivity中的setTitle()方法

Android 从另一个类调用MainActivity中的setTitle()方法,android,Android,我想更改另一个类的主要活动标题栏。 在第二个类中,我检查输入的用户名和密码是否正确(在线检查) 现在,当输入正确时,我想将标题栏更改为包含用户名 问题是方法“setTitle()”不是静态的,因此不能从第二个类调用 我可以在主活动中更改静态变量,但如何检查更改 我也可以为这个变量设置setter,但它必须是静态的,所以不能从那里调用“setTitle() 谢谢你的帮助 关于您应该使用自定义标题 你可以试试这个 这是mytitle.xml <?xml version="1.0" encodi

我想更改另一个类的主要活动标题栏。 在第二个类中,我检查输入的用户名和密码是否正确(在线检查)

现在,当输入正确时,我想将标题栏更改为包含用户名

问题是方法“setTitle()”不是静态的,因此不能从第二个类调用

我可以在主活动中更改静态变量,但如何检查更改

我也可以为这个变量设置setter,但它必须是静态的,所以不能从那里调用“setTitle()

谢谢你的帮助


关于

您应该使用自定义标题

你可以试试这个

这是mytitle.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:orientation="horizontal" 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent"
android:layout_height="match_parent">

    <TextView
        android:id="@+id/Kredi"
        style="@style/litleTitleStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:layout_alignParentRight="true" />
</RelativeLayout>

您可以在第一类或第二类中使用此代码

在您可以创建的主活动类中您可以创建这样的函数

private void setapptitle(String s){
    this.setTitle(s);
}
然后在主活动类中创建这样的处理程序(在下面给出的代码中,主活动类是MainActivity),并将此处理程序传递给其他类或线程,从这些类或线程可以设置应用程序标题

 Handler handler = new Handler(){


            @Override
            public void handleMessage(Message msg) {

                final String title = (String) msg.obj;
                MainActivity.this.runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        setapptitle(title);
                    }
                });
                super.handleMessage(msg);
            }
        };
然后,您可以将消息对象从已将此处理程序传递到的其他线程或类发送到此处理程序。这个小片段可以完成所需的任务

Message msg = Message.obtain();
msg.obj = your_required_string();
handler.sendMessage(msg);

你是说另一个类是
片段吗?
Message msg = Message.obtain();
msg.obj = your_required_string();
handler.sendMessage(msg);