2016-04-17 2 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

Как певце можно увидеть Im получаю ошибку на setSupportActionbar, когда я зависать над ним я получаю "cannot resolve method 'setSupportActionbar(android.support.v7.widget.Toolbar)'"

+0

Вы не должны называть класс словом Fragment и продлить действие. Это просто путает людей. Кроме того, суффикс класса является довольно избыточным. –

+0

В качестве альтернативы, возможно, вам следует расширить фрагмент, но у вас по-прежнему будет такая же проблема с тем, что этот метод не определен, потому что вы можете только называть это в классе AppCompatActivity –

+0

. Мой [ответ] (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

Использование AppcomactActivity с Appcomacttheme.

Попробуйте использовать новую базовую активность в студии и коде Android, и она будет добавлена ​​автоматически, например 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); 
    } 
} 
Смежные вопросы