Common Header in different activities using BaseActivity in android

前端 未结 4 1531
傲寒
傲寒 2020-12-03 05:10

I want write code once and use in different activities. I have created a Base Activity class for that . Also the header of all the layouts in different activiti

4条回答
  •  南笙
    南笙 (楼主)
    2020-12-03 05:57

    For this you have to create one header.xml which will be included in each and every layout for your activities as follows

    header.xml

    
      
    
    

    activity_main.xml

    
      
      
    
      
    
    
    

    BaseActivity

    abstract class BaseActivity extends Activity {
      protected TextView txtHeading;
      public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
      }
    
    
      protected void setHeading(int resId) {
         if(txtHeading == null)
         txtHeading = findViewById(R.id.txtHeading);
         if(txtHeading != null)
           txtHeading.setText(resId);
      }
    }
    

    MainActivity

    class MainActivity extends BaseActivity {
       public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
          setHeading(R.string.heading_main);
       }
    }
    

    You can put as many views you want and manage common things in BaseActivity or BaseListActivity.

提交回复
热议问题