ActionBar之droplist的使用

来源:互联网 发布:g10代码编程实例 编辑:程序博客网 时间:2024/05/20 13:05
i. 利用下拉选择项和布局,构建SpinnerAdapter
SpinnerAdaptermSpinnerAdapter =ArrayAdapter.createFromResource(this,R.array.action_list,android.R.layout.simple_spinner_dropdown_item);
ii.  实现ActionBar.OnNavigationListener来记录用户选择list中项目的行为。
public booleanonNavigationItemSelected(int position, longitemId)
iii. 设置导航模式为ActionBar.NAVIGATION_MODE_LIST
ActionBaractionBar =getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
iv. 设置回调函数setListNavigationCallbacks()
actionBar.setListNavigationCallbacks(mSpinnerAdapter,mNavigationCallback);
 
参考代码如下:

import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.ActionBar.TabListener;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.SearchView;
import android.widget.SpinnerAdapter;
import android.widget.Toast;

public class ActionBarTestActivity extends Activity implements ActionBar.OnNavigationListener{

 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
  
 @Override
 protected void onStart() {
  // TODO Auto-generated method stub
  super.onStart();
  ActionBar bar = this.getActionBar();
  
  bar.setDisplayOptions(ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_CUSTOM, ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_CUSTOM);
  bar.setCustomView(R.layout.actionmode);
  SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.action, android.R.layout.simple_spinner_dropdown_item);

  bar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
  
  bar.setListNavigationCallbacks(mSpinnerAdapter, this);
 }
 
     @Override
 public boolean onNavigationItemSelected(int itemPosition, long itemId) {
  // TODO Auto-generated method stub
  Log.v("Jeny", "itemPosition is ====="+itemPosition);
  switch(itemPosition){
   case 0:{
    Toast.makeText(this, "select item is "+itemPosition, Toast.LENGTH_SHORT).show();
    break;
   }
   case 1:{
    Toast.makeText(this, "select item is "+itemPosition, Toast.LENGTH_SHORT).show();
    break;
   }
   case 2:{
    Toast.makeText(this, "select item is "+itemPosition, Toast.LENGTH_SHORT).show();
    break;
   }
   case 3:{
    Toast.makeText(this, "select item is "+itemPosition, Toast.LENGTH_SHORT).show();
    break;
   }
   case 4:{
    Toast.makeText(this, "select item is "+itemPosition, Toast.LENGTH_SHORT).show();
    break;
   }
   case 5:{
    Toast.makeText(this, "select item is "+itemPosition, Toast.LENGTH_SHORT).show();
    break;
   }
   case 6:{
    Toast.makeText(this, "select item is "+itemPosition, Toast.LENGTH_SHORT).show();
    break;
   }
   case 7:{
    Toast.makeText(this, "select item is "+itemPosition, Toast.LENGTH_SHORT).show();
    break;
   }
   case 8:{
    Toast.makeText(this, "select item is "+itemPosition, Toast.LENGTH_SHORT).show();
    break;
   }
   case 9:{
    Toast.makeText(this, "select item is "+itemPosition, Toast.LENGTH_SHORT).show();
    break;
   }
   default:
    break;
   }
  return false;
 } 

}

 
【array.xml】
 
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="action">
        <item>0</item>
        <item>1</item>
        <item>2</item>
        <item>3</item>
        <item>4</item>
        <item>5</item>
        <item>6</item>
        <item>7</item>
        <item>8</item>
        <item>9</item>
    </string-array>
</resources>
原创粉丝点击