Xml 扩展时基本活动中的TextView未刷新

Xml 扩展时基本活动中的TextView未刷新,xml,include,Xml,Include,我(终于)遇到了这个棘手的问题。我是一名新的android开发者,请原谅我的无知 以下是描述: 我有两个活动:活动A和活动B 活动A是由其他活动扩展的主要活动。它包含公共布局,例如公共页眉和页脚。在标题中有一个TextView对象,它应该显示日期和时间。还有一个计时器,它每1秒刷新一次,并在Textview对象中显示日期和时间。如果我自己运行ActivityA,它就会工作 ActivityB扩展ActivityA。ActivityB还使用INCLUDE XML指令重用ActivityA的布局。到

我(终于)遇到了这个棘手的问题。我是一名新的android开发者,请原谅我的无知

以下是描述:

我有两个活动:活动A和活动B

活动A是由其他活动扩展的主要活动。它包含公共布局,例如公共页眉和页脚。在标题中有一个TextView对象,它应该显示日期和时间。还有一个计时器,它每1秒刷新一次,并在Textview对象中显示日期和时间。如果我自己运行ActivityA,它就会工作

ActivityB扩展ActivityA。ActivityB还使用INCLUDE XML指令重用ActivityA的布局。到目前为止,布局在设计时和运行时都被重用,我可以看到重用的布局和文本视图

现在的问题是:

当我启动ActivityB(扩展ActivityA并包含其布局)时,activity会显示在emulator屏幕上,但应该显示日期和时间的TextView不会刷新,即使计时器在ActivityA中工作并设置数据(我可以在调试器中观察)。它只是不传播对ActivityB布局的更改。这样行吗

我想要达到的目标:

我想有一个共同的活动。其他活动将重用它的布局并扩展它。我想要在公共活动中工作的代码更改扩展它的所有活动中的对象。例如,我希望在扩展公共活动的布局和代码的每个活动上显示日期和时间。我希望我说得够清楚了

代码如下:

    public class ActivityA extends AppCompatActivity {

    public TextView timeText;
    public TextView dateText;
    public TextView prijavljenText;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.base_activity);

        timeText =(TextView) findViewById(R.id.txtTime);
        dateText =(TextView) findViewById(R.id.txtDate);


        Timer timer = new Timer();
        timer.schedule( new TimerTask() {
            @Override
            public void run() {
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        Timer_Elapsed();
                    }
                });
            }
        },0,1000);


        Button btn = (Button) findViewById(R.id.btnClose);


        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                finish();
            }
        });

    }
    public void Timer_Elapsed(){

        Date d=new Date();

        String time= new SimpleDateFormat("HH:mm:ss").format(d);
        String date= new SimpleDateFormat("dd.MM.yyyy").format(d);
        dateText.setText(date);
        timeText.setText(time);

    }  
}

public class ActivityB extends ActivityA{

    public ActivityAmyBase=null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_a);

        });



    }


}

Here's ActivityB XML layout

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".ArhivRacunaActivity">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Logiran"
        android:id="@+id/btnSetLog"
        android:layout_marginBottom="183dp"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true" />

    <include layout="@layout/activity_a"
        />
</RelativeLayout>
公共类活动a扩展了AppCompatActivity{
公共文本查看时间文本;
公共文本查看日期文本;
公共文本视图prijavljenText;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.base_活动);
timeText=(TextView)findViewById(R.id.txtTime);
dateText=(TextView)findViewById(R.id.txtDate);
定时器=新定时器();
timer.schedule(新TimerTask(){
@凌驾
公开募捐{
runOnUiThread(新的Runnable(){
@凌驾
公开募捐{
计时器_经过();
}
});
}
},0,1000);
按钮btn=(按钮)findViewById(R.id.btnClose);
btn.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
完成();
}
});
}
公共无效计时器_已用(){
日期d=新日期();
字符串时间=新的SimpleDataFormat(“HH:mm:ss”)。格式(d);
字符串日期=新的SimpleDataFormat(“dd.MM.yyyy”)。格式(d);
dateText.setText(日期);
timeText.setText(时间);
}  
}
公共类ActivityB扩展ActivityA{
公共活动amybase=null;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_a);
});
}
}
下面是ActivityBXML布局