2016-04-17 70 views
1

我想爲我的類添加一個工具欄來處理片段之間的通信。setSupportActionBar片段類Android

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); 
    } 

enter image description here

正如YPU可以看到即時得到錯誤的setSupportActionbar,當我在它懸停我得到"cannot resolve method 'setSupportActionbar(android.support.v7.widget.Toolbar)'"

+0

你不應該用Fragment這個詞來命名一個類,並讓它擴展一個Activity。這只是混淆了人。此外,類後綴是相當多餘的。 –

+0

另外,也許你應該擴展片段,但你仍然有同樣的問題沒有被定義,因爲你只能在AppCompatActivity類上調用該方法 –

+0

我的[answer](http://stackoverflow.com/questions/36680718/setsupportactionbar-on-fragment-class-android/36680749#36680749)解決你的問題? –

回答

2

您的活動應該擴大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

在另一個筆記上:您的活動名稱不應該爲FragmentClass會造成混淆,因爲它不會延伸Fragment。它應該是類似MainActivity

1

與Appcomacttheme一起使用AppcomactActivity。

嘗試在android studio中新增基本活動,代碼將自動添加到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); 
    } 
}