Android 如何在导航模式列表中将my menu.xml传递给Sherlock actionBar

Android 如何在导航模式列表中将my menu.xml传递给Sherlock actionBar,android,Android,我只是用库Sherlock创建actionBar。所有的工作都很好,但现在我想插入一个下拉列表菜单的酒吧顶部。示例使用字符串数组构建下拉菜单: /** An array of strings to populate dropdown list */ String[] actions = new String[] { "Bookmark", "Subscribe", "Share" }; ArrayAdapter<String> adapter = new Ar

我只是用库Sherlock创建actionBar。所有的工作都很好,但现在我想插入一个下拉列表菜单的酒吧顶部。示例使用字符串数组构建下拉菜单:

/** An array of strings to populate dropdown list */
String[] actions = new String[] {
    "Bookmark",
    "Subscribe",
    "Share"
};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getBaseContext(),    R.layout.sherlock_spinner_item, actions);
/**用于填充下拉列表的字符串数组*/
字符串[]操作=新字符串[]{
“书签”,
“订阅”,
“分享”
};
ArrayAdapter=新的ArrayAdapter(getBaseContext(),R.layout.sherlock\u微调器\u项,操作);
我想:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(getBaseContext(),    R.layout.sherlock_spinner_item, R.menu.list_news);
ArrayAdapter adapter=new ArrayAdapter(getBaseContext(),R.layout.sherlock\u spinner\u项目,R.menu.list\u新闻);
其中R.menu.list\u新闻:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >


<item 
    android:id="@+id/classifica"
    android:title="@string/classifica"
    android:showAsAction="withText"        
/>

<item 
    android:id="@+id/next_match"
    android:title="@string/next_match"
    android:showAsAction="withText"        
/>

<item 
    android:id="@+id/risultati"
    android:title="@string/risultati"
    android:showAsAction="withText"        
/>

<item 
    android:id="@+id/top_ten"
    android:title="@string/top_ten"
    android:showAsAction="withText"        
/>

</menu>

这是我的活动

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    /** Create an array adapter to populate dropdownlist */
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getBaseContext(),    R.layout.sherlock_spinner_item, MY_MENU_XML);


    /** Enabling dropdown list navigation for the action bar */
    getSupportActionBar().setNavigationMode(com.actionbarsherlock.app.ActionBar.NAVIGATION_MODE_LIST);


    /** Defining Navigation listener */
    ActionBar.OnNavigationListener navigationListener = new OnNavigationListener() {

        @Override
        public boolean onNavigationItemSelected(int itemPosition, long itemId) {
            //Toast.makeText(getBaseContext(), "Current Action : " + actions[itemPosition]  , Toast.LENGTH_SHORT).show();
            return false;
        }
    };

    /** Setting dropdown items and item navigation listener for the actionbar */
    getSupportActionBar().setListNavigationCallbacks(adapter, navigationListener);        
    adapter.setDropDownViewResource(R.layout.sherlock_spinner_dropdown_item);

    LoadData task = new LoadData();
    task.execute();
}
@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/**创建阵列适配器以填充dropdownlist*/
ArrayAdapter=新的ArrayAdapter(getBaseContext(),R.layout.sherlock\u微调器\u项,我的菜单\u XML);
/**为操作栏启用下拉列表导航*/
getSupportActionBar().setNavigationMode(com.actionbarsherlock.app.ActionBar.NAVIGATION\u MODE\u列表);
/**定义导航侦听器*/
ActionBar.OnNavigationListener navigationListener=新建OnNavigationListener(){
@凌驾
公共布尔值onNavigationItemSelected(int-itemPosition,long-itemId){
//Toast.makeText(getBaseContext(),“当前操作:+actions[itemPosition],Toast.LENGTH\u SHORT).show();
返回false;
}
};
/**为actionbar设置下拉项和项导航侦听器*/
getSupportActionBar().setListNavigationCallbacks(适配器、navigationListener);
adapter.setDropDownViewResource(R.layout.sherlock\u微调器\u下拉菜单\u项);
LoadData任务=新建LoadData();
task.execute();
}

这里的示例是:

您需要在下拉列表中显示文本列表,然后使用下面的代码

mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
        mActionBar.setDisplayHomeAsUpEnabled(true);

        mArrayDropDown=getResources().getStringArray(R.array.dropdown);

        ArrayAdapter<String> mAdapter=new ArrayAdapter<String>(ListNavActivity.this, android.R.layout.simple_spinner_item, mArrayDropDown);

        mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        mActionBar.setListNavigationCallbacks(mAdapter, this);
mActionBar.setNavigationMode(ActionBar.NAVIGATION\u MODE\u列表);
mActionBar.setDisplayHomeAsupaned(true);
mArrayDropDown=getResources().getStringArray(R.array.dropdown);
ArrayAdapter mAdapter=新的ArrayAdapter(ListNavActivity.this,android.R.layout.simple\u微调器\u项,mArrayDropDown);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
setListNavigationCallbacks(mAdapter,this);
这里的下拉列表是字符串数组。
虽然此代码适用于Compact Libarary v7,但它与Sherlock one非常相似。

您只需在下拉列表中显示文本,然后在Adapterok中使用数组,然后我使用数组。。。谢谢如果我的建议和回答对你有用,那么就接受它为你的正确答案。