开发者

How or where to handle the click events generated by an android actionbar

开发者 https://www.devze.com 2023-02-14 02:52 出处:网络
I have an actionbar which I have inserted into my very few layout screens via... <include android:id=\"@+id/main_actionbar\" layout=\"@layout/actionbar\" />

I have an actionbar which I have inserted into my very few layout screens via...

<include android:id="@+id/main_actionbar" layout="@layout/actionbar" />

The actionbar itself is pretty simple and maybe even very bad but wtf...

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/actionbar" style="@style/ActionBarWrapper">
    <RelativeLayout style="@style/ActionBarContent"
        android:id="@+id/actionBarContent">
        <TextView android:id="@+id/ab_text" style="@style/ActionBarText" />
        <ImageView android:id="@+id/ab_border_01" style="@style/ActionBarBorder01" />
        <ImageView android:id="@+id/ab_icon_01" style="@style/ActionBarIcon01" />
        <ImageView android:id="@+id/ab_border_02" style="@style/ActionBarBorder02" />
        <开发者_运维问答ImageView android:id="@+id/ab_icon_02" style="@style/ActionBarIcon02" />
        <ImageView android:id="@+id/ab_border_03" style="@style/ActionBarBorder03" />
        <ImageView android:id="@+id/ab_icon_03" style="@style/ActionBarIcon03" />
    </RelativeLayout>
    <ImageView android:id="@+id/ab_footerline" style="@style/ActionBarFooterLine" />
</LinearLayout>

Trying to implement the functionality behind the actionbar I am not sure of how or where to handle clicks that may happen on different screens of the application.

<item name="android:onClick">ab_click</item>

Putting the same clickhandler into every activity would work but would also really stink.


Just create a base class extending Activity and include in it all your global action bar click handlers. Example:

public abstract class BaseActionBarActivity extends Activity {

    public void ab_click(View v) {
        // handle your click
    }

}

Then rather than extending Activity in your own app activities, extend from your base class:

public class MyActivity extends BaseActionBarActivity {
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号