Могу ли я получить доступ к переменной global
в дочернем классе из родительского действия (в зависимости от того, какое действие открыто в данный момент и которое наследуется от действия NavigationDrawer)?Скажите, пожалуйста, как можно исправить код, чтобы он работал.
OpenArea.java
public class OpenArea extends NavigationDrawer
{
...
Pack global;
...
public Pack getGlobal()
{
return this.global;
}
public void setGlobal(Pack global)
{
this.global = global;
}
...
}
SecretArea.java
public class SecretArea extends NavigationDrawer
{
...
Pack global;
...
public Pack getGlobal()
{
return this.global;
}
public void setGlobal(Pack global)
{
this.global = global;
}
...
}
NavigationDrawer.java
public class NavigationDrawer extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener
{
...
Intent intent1 = new Intent(NavigationDrawer.this, Login.class);
Bundle bundle = new Bundle();
bundle.putParcelable("global", getGlobal());
intent1.putExtras(bundle);
startActivity(intent1);
finish();
...
abstract Pack getGlobal()
{
}
abstract void setGlobal(Pack global)
{
}
...
}
В нем говорится, что я пытаюсь использовать абстрактные функции getGlobal
и setGlobal
в неабстрактном классе.Итак, я должен перейти к какому-то новому абстрактному классу для реализации абстрактных функций getGlobal
и setGlobal
?
Если тогда я не смогу реализовать свои другие функции в NavigationDrawer в абстрактном классе.Если NavigationDrawer сделан абстрактным, я также не смогу реализовать свои другие функции в NavigationDrawer в абстрактном классе NavigationDrawer.
Если я попытаюсь реализовать функции getGlobal
и setGlobal
в новом абстрактном классе,тогда NavigationDrawer должен наследовать от этого абстрактного класса.Поскольку NavigationDrawer уже реализуется из класса AppCompatActivity, поэтому множественное наследование невозможно.Итак, я должен использовать какой-то новый интерфейс вместо абстрактного класса?Некоторая концепция абстрактного интерфейса недоступна для использования вместо абстрактного класса.Пожалуйста, посоветуйте мне, как это сделать.Пожалуйста, помогите мне с любыми предложениями от кого-либо.