Вы можете передать ссылку на первый объект следующим образом:
class normalClass {
protected $superObject;
public function __construct(superClass $obj) {
$this->superObject = $obj;
}
public function someMethod() {
//this method shall access the doSomething method from superClass
$this->superObject->doSomething();
}
}
class superClass {
public function __construct() {
//provide normalClass with a reference to ourself
$inst = new normalClass($this);
$inst->someMethod();
}
public function doSomething() {
//this method shall be be accessed by domeMethod form normalClass
}
}
Может быть, у тебя та же проблема, что и у меня. Поэтому для меня решение было простым, если вы используете AppCompat, просто не используйте это свойство:
android:showAsAction="always"
вместо этого используйте его так:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/option"
android:title="@string/option"
android:icon="@drawable/option"
app:showAsAction="always">
</item>
</menu>
Существует разница в дополнительном xmlns : app и showAsAction является свойством app .
Надеюсь, это кому-нибудь поможет.
@Override
public boolean onMenuOpened(int featureId, Menu menu)
{
if(featureId == Window.FEATURE_ACTION_BAR && menu != null){
if(menu.getClass().getSimpleName().equals("MenuBuilder")){
try{
Method m = menu.getClass().getDeclaredMethod(
"setOptionalIconsVisible", Boolean.TYPE);
m.setAccessible(true);
m.invoke(menu, true);
}
catch(NoSuchMethodException e){
Log.e(TAG, "onMenuOpened", e);
}
catch(Exception e){
throw new RuntimeException(e);
}
}
}
return super.onMenuOpened(featureId, menu);
}
Ссылка: Как отображать значки в меню переполнения в ActionBar
поместите ваше меню со свойством android:showAsAction="always"
и в xml-файл меню добавьте подменю, под которым ваше меню выглядит следующим образом
<item
android:id="@+id/mainMenu"
android:icon="@drawable/launcher"
android:showAsAction="always">
<menu>
<item
android:id="@+id/menu_logout"
android:icon="@drawable/log_out"
android:title="logout"/>
</menu>
</item>
, в меню будут отображаться значки