A few menu questions...

by Andy McCall » Sat, 21 Feb 2009 01:49:28 GMT


Sponsored Links
 Hi Folks,

I have been working working with Eclipse, the Android plug-in and the 1.1
SDK.  So far I quite like it and its bringing back memories of the BeOS's
API :)  I generally learn by doing, and I am stuck with some menu problems.
I want to create my menus using and XML file, and I can do that, but I can't
work out how to link up my menu values and the XML values for my case
statements.

I have the following XML file, res/menu/options_menu.xml:

<menu xmlns:android=" http://schemas.android.com/apk/res/android" ;>
 <item android:id="@+id/options_menu_settings"
    android:title="Settings" />
 <item android:id="@+id/options_menu_about"
          android:title="About" />
    <item android:id="@+id/options_menu_quit"
          android:title="Quit" />
</menu>
Creating the menu by inflating it using the following:

    public boolean onCreateOptionsMenu(Menu menu) {
     MenuInflater inflater = getMenuInflater();
     inflater.inflate(R.menu.options_menu, menu);
        return true;
    }

So far this works and draws the menu.

I have the following file res/values/strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>

<item name="options_menu_quit" type="id" format="integer">0</item>
</resources>

But how do I get the case statement and the XML to fit?  I would have
expected it to be something like this:

    /* Handles item selections */
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case options_menu_quit:
            finish();
            return true;
        }
        return false;
    }

But that doesn't work as the options_menu_quit can't be resolved.

My other question is about menu icons. I get that this code adds an icon to
the menu:

menu.add(0, MENU_QUIT, 0, "Quit")
    .setIcon(R.drawable.menu_quit_icon);

But if I am drawing a menu by inflating XML, how do I specify an icon there?

-- 
Thanks,

Andy McCall
--
Email: andy.mcc...@gmail.com
GTalk: andy.mcc...@gmail.com

--~--~---------~--~----~------------~-------~--~----~



A few menu questions...

by sddandroid » Mon, 16 Mar 2009 04:42:07 GMT


 ndy, I'm not sure if you ever found an answer to your question but,
the solution (IMHO) needs to be posted because it isn't elaborated on
in the Dev documentation or on the Developers site (anywhere I could
find). If you write up your menus using XML, you can access the item
ids using R.id like this....

XML File
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/new_client"
android:title="New Client" />
<item android:id="@+id/add_income"
android:title="Add Income" />
<item android:id="@+id/add_expense"
android:title="Add Expense" />
<item android:id="@+id/add_mileage"
android:title="Add Mileage" />
</menu>

Functions

// Called when the menu button is pressed
public boolean onCreateOptionsMenu(Menu menu){
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
return true;
}

// Handles when menu options are selected
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case R.id.new_client:
addClient();
return true;
case R.id.add_income:
addIncome();
return true;
case R.id.add_expense:
addExpense();
return true;
case R.id.add_mileage:
addMileage();
return true;
}
return false;
}

On Feb 20, 9:33am, Andy McCall <andy.mcc...@gmail.com> wrote:
--~--~---------~--~----~------------~-------~--~----~


Sponsored Links


Other Threads

1. Vertical Seekbar

Hi.

I made vertical seekbar class.
This is extended  View class.

Please test, and teach if there is a bug.

The file of the project of Eclipse is put on the following URL.
http://560b.sakura.ne.jp/android/VerticalSlidebarExample.zip

My best regards.

-- 

2. Using Styles for Menu

I want to use styles to control the text color of the context menu (ie
the menu that pops up when I tap and hold on a list item).  My
styles.xml would look like this.

<?xml version="1.0" encoding="utf-8"?>
<resources>
        <style name="MyTheme" parent="android:style/Theme">
        <item  name="android:<WHAT STYLE>">@style/MyMenuStyle </item>
        </style>

        <style name="MyMenuStyle" parent="@android:style/Widget.<WHAT
WIGET>">
                <item name="android:textColor">@android:color/black</item>
        </style>
</resources>

What should I used for HAT STYLEand HAT WIGET

What are all the possible values that can go into HAT STYLEand
HAT WIGET

-- 

3. ADB Freezes when doing automation / Not detecting device with ADB 1.0.25

4. Visibility change in LinearLayout

5. How to use pdfbox1.0.0 to read pdf file on android?

6. Android Debugger Problem

7. invoke functions of android source library (libmedia)