因此,我尝试使用appcompat活动在应用程序中创建一个包含工具栏(作为操作栏)的片段,以便可以在多个视图中重复使用它。
我已经测试了一个仅使用文本片段的简单文本片段,该类仅扩展了片段并使片段正常工作,但是要包含工具栏,我需要在视图中扩展AppCompatActivity(我认为)。
当我尝试使其正常工作时,出现错误消息,提示我action_bar_fragment不是Fragment。
我跌倒了,好像我在这里错过了一些基本的东西。有任何想法吗?
主要活动:
package com.example.aaron.personaldataassistant;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.content.Intent;
import android.support.v7.widget.Toolbar;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.view.Menu;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// action_bar_fragment = (Toolbar) findViewById(R.id.action_bar_fragment);
// setSupportActionBar(action_bar_fragment);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater mi=getMenuInflater();
mi.inflate(R.menu.action_bar, menu);
return super.onCreateOptionsMenu(menu);
}
Run Code Online (Sandbox Code Playgroud)
主要活动布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:id="@+id/activity_main" …Run Code Online (Sandbox Code Playgroud)