爲了支持使用Android支持庫軟件包V4和V7.Im在我的應用程序中使用MultiChoiceModeListener的操作欄。我如何可以使用MultiChoiceModeListener 2.3設備..Android MultiChoiceModeListener支持2.3
1
A
回答
1
工作實例V7
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.view.ActionMode;
import android.util.SparseBooleanArray;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;
public class MainActivity extends ActionBarActivity {
static final String[] COUNTRIES = new String[] {
"Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra",
"Angola", "Anguilla", "Canada", "France", "Spain" };
private ListView mListView;
private ActionMode mMode;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mMode = null;
mListView = (ListView) findViewById(R.id.listView1);
mListView.setAdapter(new ArrayAdapter(this,
android.R.layout.simple_list_item_multiple_choice, COUNTRIES));
mListView.setItemsCanFocus(false);
mListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
mListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
SparseBooleanArray checked = mListView.getCheckedItemPositions();
boolean hasCheckedElement = false;
for (int i = 0 ; i < checked.size() && ! hasCheckedElement ; i++) {
hasCheckedElement = checked.valueAt(i);
}
if (hasCheckedElement) {
if (mMode == null) {
mMode = startSupportActionMode(new ModeCallback());
}
} else {
if (mMode != null) {
mMode.finish();
}
}
}
});
}
private final class ModeCallback implements ActionMode.Callback {
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
// Create the menu from the xml file
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.activity_main, menu);
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
// Here, you can checked selected items to adapt available actions
return false;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
// Destroying action mode, let's unselect all items
for (int i = 0; i < mListView.getAdapter().getCount(); i++)
mListView.setItemChecked(i, false);
if (mode == mMode) {
mMode = null;
}
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
long[] selected = mListView.getCheckedItemIds();
if (selected.length > 0) {
for (long id: selected) {
// Do something with the selected item
}
}
mode.finish();
return true;
}
};
}
0
我使用成功後,該圖書館擁有分鐘SDK 7
https://github.com/akalipetis/action-mode-list-fragment/
ListFragment實現,用於處理使用AppCompat庫的ActionMode顯示和管理,並向後兼容2.1。
相關問題
- 1. Android 2.3 Unicode支持
- 2. IBM Worklight 5.0.6.1 - Android 2.3支持
- 3. Android 2.3支持MulticastSocket嗎?
- 4. ReichlerView上的MultichoiceModeListener android
- 5. Play 2.3是否支持akka 2.3?
- 6. sqlite數據庫不支持2.1,2.2版本但2.3支持
- 7. iBATIS 2.3.x是否支持foreach標籤?
- 8. 在android中是否支持2.3的加載器?
- 9. Android支持庫ActionBar不工作在2.3設備
- 10. Android 2.3 WebView是否支持-webkit-column-break-before?
- 11. MobileFirst 7.0工作室 - 的Android 2.3.x版本支持
- 12. android multichoicemodelistener刪除內部存儲文件
- 13. Android的列表項選擇不MultiChoiceModeListener
- 14. android支持unicode?
- 15. 支持Android庫
- 16. TestFlight支持android
- 17. Android支持jinitiator
- 18. Android支持v7
- 19. 支持Android 4.0
- 20. 支持Android庫
- 21. Android SSL支持
- 22. Android支持JDBC
- 23. 支持android
- 24. Android支持AVRCP
- 25. Android支持log2
- 26. SuperSlim不支持Android支持庫23.2.1
- 27. 新來的android - 支持支持多屏
- 28. OpenCV支持Android的硬件支持
- 29. Android支持MediaRouter殺死支持設計
- 30. Android是否支持手錶支持NFC
這是否也能處理長時間點擊? –
是的,只需添加監聽器: – Wais
listView.setOnItemLongClickListener(新AdapterView.OnItemLongClickListener(){ 公共布爾onItemLongClick(適配器視圖>爲arg0,視圖V, INT指數,長ARG3){// 你想在這裏 不管 return true; } }); – Wais