0
我想如下以編程方式創建一個DrawerLayout的動作條:如何在Java中創建一個動作條/工具欄
import android.support.v7.widget.Toolbar;
public class RevToolBar extends MainActivity {
public Toolbar getRevToolbar() {
Toolbar revToolBar = new Toolbar(this);
setSupportActionBar(revToolBar);
return revToolBar;
}
}
然後在主要活動:
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = new RevToolBar().getRevToolbar();
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
}
然而,應用始終剛剛開始後崩潰:
應用已再次停止
打開的應用程序
什麼是在Java中創建和添加一個ActionBar /工具欄到DrawerLayout的正確方法?
謝謝大家提前。
UPDATE
拋出的輸出:
07/10 14:16:22: Launching app
$ adb install-multiple -r -p com.example.rev.myapp /media/rev/5431214957EBF5D7/projects/android/myapp/app/build/intermediates/split-apk/debug/slices/slice_0.apk
Split APKs installed
$ adb shell am start -n "com.example.rev.myapp/com.example.rev.myapp.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Client not ready yet..Waiting for process to come online
Connected to process 9754 on device Nexus_5X_Edited_API_25 [emulator-5554]
Application terminated.
把你的堆棧跟蹤這裏 –
謝謝你的回覆@LuizFernandoSalvaterra。我只是做了一個更新,幷包含了這一點。 –
爲什麼不在佈局文件中使用工具欄? – Cochi