簡體   English   中英

如何在Android的Activity中訪問BaseActivity ToolBar

[英]How to access BaseActivity ToolBar in Activity in android

我想訪問MyActivity中擴展了BaseActivity的toolBar,可以訪問MainActivity中的Toolbar。

BaseActivity

  public abstract class BaseActivity extends AppCompatActivity{
    @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            setContentView(R.layout.fragment_container_base);
            Toolbar toolBar = (Toolbar) findViewById(R.id.tool_bar);
    }
    }

MyActivity

 public class MyActivity extends BaseActivity {
     @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
       // here i want to access BaseActivity  Toolbar
    }

用你的工具欄setSupportActionBarBaseActivity

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.fragment_container_base);
   Toolbar toolBar = (Toolbar) findViewById(R.id.tool_bar);
   setSupportActionBar(toolbar);
}

然后在MainActivity super.onCreate之后從getSupportActionBar獲取工具欄:

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   ActionBar actionBar = getSupportActionBar();
}

您不能將ActionBarToolbar ,但是如果您確實要訪問工具欄,則將其更改為實例變量:

protected Toolbar toolbar;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fragment_container_base);
    toolBar = (Toolbar) findViewById(R.id.tool_bar);
    // ...

使用protected修飾符,您可以訪問MainActivity toolbar

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM