Я работаю с bottomNavigationBar, и у меня есть класс
navBase4 extends AppCompatActivity implements BottomNavigationView.OnNavigationItemSelectedListener
Все мои классы, которые используют мой bottomNavigationBar, реализуют этот класс, и он обрабатывает выделение выделенного значка, открытие новых активов и т. Д.
Например, другой класс, который находится в том же каталоге, что и navBase4, это
public class userProfile extends navBase4
Но я только что создал новый класс
public class updateInfo extends navBase4
Это находится в подкаталоге папки, содержащей navBase4. когда я пытаюсь реализовать методы, которые требует navBase4, я получаю сообщение об ошибке:
Класс updateInfo должен быть объявлен как абстрактный или реализовывать абстрактный метод getContentViewId () в navBase4
Почему он работает, когда класс находится в том же каталоге, что и navBase4, но не в том случае, если он находится в подкаталоге?
код navBase4:
public abstract class navBase4 extends AppCompatActivity implements BottomNavigationView.OnNavigationItemSelectedListener {
protected BottomNavigationView navigationView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getContentViewId());
navigationView = (BottomNavigationView) findViewById(R.id.navigation);
navigationView.setOnNavigationItemSelectedListener(this);
doCustomStuffOnStart();
}
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
//move to a new activity on item selected
}
protected void updateNavigationBarState(){
//update state
}
void selectBottomNavigationBarItem(int itemId) {
//do stuff
}
abstract int getContentViewId();
abstract int getNavigationMenuItemId();
abstract void doCustomStuffOnStart();
}
код updateInfo - этот код выдает ошибку
public class updateInfo extends navBase4 {
private TextView mTextMessage;
@Override
int getContentViewId() {
return R.layout.activity_user_profile;
}
@Override
int getNavigationMenuItemId() {
return R.id.navigation_user_profile;
}
@Override
void doCustomStuffOnStart() {
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_update_info);
mTextMessage = (TextView) findViewById(R.id.message);
BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
}
* *} Тысяча двадцать-один
Каталог файлов
Userprofile:
-navBase4
-userProfile
Папка
: подстраницы содержат updateInfo