我在android中创建了一个操作栏,下拉列表到操作栏,但问题是我想添加多个下拉列表,它将始终显示在操作栏中
显示的内容是一个下拉菜单,但是Toast消息显示2个所选项目的选择
package in.wptrafficanalyzer.actionbardropdownnavigation;
import android.app.ActionBar;
import android.app.ActionBar.OnNavigationListener;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Toast;
public class MainActivity extends Activity {
/** An array of strings to populate dropdown list */
String[] actions = new String[] {
"Bookmark",
"Subscribe",
"Share"
};
String[] social = new String[] {
"facebook",
"twitter",
"lamelchamel"
};
/** Called when the activity is first created. */
@Override
public 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(), android.R.layout.simple_spinner_dropdown_item, actions);
ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(getBaseContext(), android.R.layout.simple_spinner_dropdown_item, social);
/** Enabling dropdown list navigation for the action bar */
getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
/** Defining Navigation listener */
ActionBar.OnNavigationListener navigationListener = new OnNavigationListener() {
@Override
public boolean onNavigationItemSelected(int itemPosition, long itemId) {
Toast.makeText(getBaseContext(), "You selected : " + actions[itemPosition] + " and you selected " + social[itemPosition] , Toast.LENGTH_SHORT).show();
return false;
}
};
/** Setting dropdown items and item navigation listener for the actionbar */
getActionBar().setListNavigationCallbacks(adapter, navigationListener);
getActionBar().setListNavigationCallbacks(adapter2, navigationListener);
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
</LinearLayout>
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:0)
为什么不创建一个指定项目的菜单文件,然后在项目actionLayout
中指定您的下拉列表或微调器
<强> menu.xml文件强>
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/one"
android:icon="@drawable/one"
android:showAsAction="always"
android:title="@null"/>
<item
android:id="@+id/two"
android:showAsAction="ifRoom"
android:onClick="onGroupItemClick"
android:actionLayout="@layout/another" />
</menu>
<强> another.xml 强>
<Spinner xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:entries="@array/order" />
在这种情况下,这是一种更严格的方法,并建议,而不是通过代码创建数组只是从xml
填充它们,如果它们是常量数据但是如果它是动态的那么你必须通过代码执行此操作创建数组。
您应该在操作栏中使用xml appoach进行菜单。