片段 class Android 上的 setSupportActionBar

setSupportActionBar on fragment class Android

我想为我的 class 添加一个工具栏来处理片段之间的通信。

public class FragmentClass extends Activity implements Communicator{
@Override
protected void onCreate(Bundle savedInstanceState) {
    setContentView(R.layout.content2);
    Toolbar toolbar = (Toolbar) findViewById(R.id.playerToolbar);
    setSupportActionBar(toolbar);

    super.onCreate(savedInstanceState);
    }

正如您所见,我在 setSupportActionbar 上遇到错误,当我将鼠标悬停在它上面时,我得到 "cannot resolve method 'setSupportActionbar(android.support.v7.widget.Toolbar)'"

您的 activity 应该扩展 AppCompactActivity:

public class FragmentClass extends AppCompactActivity implements Communicator{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.content2);
       Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
       setSupportActionBar(toolbar);
    }
}

而且 Toolbar 应该从 import android.support.v7.widget.Toolbar 而不是 android.widget.Toolbar

导入

换句话说:您的 activity 的名字不应该是 FragmentClass 会造成混淆,因为它没有扩展 Fragment。它应该类似于 MainActivity

将 AppcomactActivity 与 Appcomact 主题一起使用。

尝试在 android studio 中使用新的 Basic Activity,代码将自动添加,例如 AppTheme 和 AppCompatActivity、Toolbar 和 FloatingActionButton。

public class MyActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_view);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
    }
}