2014-08-27 57 views
2

像我的貓,我想問...如何將微調添加到上下文操作欄?

如何添加旋轉的上下文動作欄像galery android?

現在我只可以設置選擇 「 」選擇1「,」 2類的絲毫不差

here`s我的代碼

public void lvMainOnLongItemClick(){ 
    lvMain.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL); 
    lvMain.setMultiChoiceModeListener(new MultiChoiceModeListener() { 
     private int nr = 0; 
     @Override 
     public boolean onPrepareActionMode(ActionMode mode, Menu menu) { 
      // TODO Auto-generated method stub 
      return false; 
     } 

     @Override 
     public void onDestroyActionMode(ActionMode mode) { 
      // TODO Auto-generated method stub 
      adapter.clearSelection(); 
     } 

     @Override 
     public boolean onCreateActionMode(ActionMode mode, Menu menu) { 
      // TODO Auto-generated method stub 
      nr = 0; 
      MenuInflater inflater = getMenuInflater(); 
      inflater.inflate(R.menu.canvas_main, menu); 
      menuEdit = menu.findItem(R.id.menu_edit); 
      menuUpload = menu.findItem(R.id.menu_upload); 
      menuUpload.setVisible(false); 
      return true; 
     } 

     @Override 
     public boolean onActionItemClicked(ActionMode mode, MenuItem item) { 
      // TODO Auto-generated method stub 
      switch (item.getItemId()) { 
      case R.id.menu_edit: 
       Toast.makeText(rbkMain.this, "Edit", Toast.LENGTH_SHORT).show(); 
       break; 
      case R.id.menu_cancel: 
       Toast.makeText(rbkMain.this, "Cancel", Toast.LENGTH_SHORT).show(); 
       break; 
      case R.id.menu_copy: 
       Toast.makeText(rbkMain.this, "Copy", Toast.LENGTH_SHORT).show(); 
       break; 
      case R.id.menu_upload: 
       Toast.makeText(rbkMain.this, "Upload", Toast.LENGTH_SHORT).show(); 
       break; 
      default: 
       Toast.makeText(rbkMain.this, "Yihaa", Toast.LENGTH_SHORT).show(); 
       break; 
      } 
      return true; 
     } 

     @Override 
     public void onItemCheckedStateChanged(ActionMode mode, int position,long id, boolean checked) { 
      // TODO Auto-generated method stub 
      if (checked) { 
       nr++; 
       adapter.setNewSelection(position, checked); 
      } else { 
       nr--; 
       adapter.removeSelection(position); 
      } 
      if(nr > 1) 
       menuEdit.setVisible(false); 
      else 
       menuEdit.setVisible(true); 

      mode.setTitle(nr + " selected"); 
     } 
    }); 

    lvMain.setOnItemLongClickListener(new OnItemLongClickListener() { 
     @Override 
     public boolean onItemLongClick(AdapterView<?> parent, View view,int position, long id) { 
      lvMain.setItemChecked(position, adapter.isPositionChecked(position)); 
      return false; 
     } 
    }); 

THX很多關於你的幫助......快樂編碼

+0

輝煌,拯救了我的一天! – 2016-02-01 11:12:01

回答

0

在主要活動的onCreate

// This has to be called before setContentView and you must use the 
// class in android.support.v4.view and NOT android.view 

requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); 

要顯示在操作欄/隱藏進度。與actionbarsherlock通知您必須使用boolean.TRUE/FALSE,不只是真/假.........

if (getSupportLoaderManager().hasRunningLoaders()) { 
    setProgressBarIndeterminateVisibility(Boolean.TRUE); 
} else { 
    setProgressBarIndeterminateVisibility(Boolean.FALSE); 
} 
+0

我相信OP意味着[微調](http://developer.android.com/guide/topics/ui/controls/spinner.html)在下拉列表框中。 – 2015-05-12 06:51:30

1

對於常規的ActionBar這個工作對我來說Adding spinner to ActionBar (not Navigation但上下文動作欄是不是加工。這就是我的工作方式,看看它是否可以幫助你。

爲了您的ListView監聽器是這樣的:

@Override 
     public boolean onCreateActionMode(ActionMode mode, Menu menu) { 
      mode.getMenuInflater().inflate(YOUR_MENU_XML, menu); 
      filterSpinner = (Spinner) MenuItemCompat.getActionView(menu.findItem(R.id.menu_overlay_spinner)); 
      filterSpinner.setAdapter(send2Adapter); 
      return true; 
     } 

菜單XML應該有這樣的事情:

<item 
    android:icon="@drawable/filter" 
    android:id="@+id/menu_overlay_spinner" 
    android:title="Spinner" 
    app:actionViewClass="android.widget.Spinner" 
    app:showAsAction="ifRoom" 
    android:actionLayout="@layout/YOUR_ACTION_LAYOUT"/> 

最後actionLayout只是一個帶有微調的根佈局:

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