listview 的 selection mode 训练小例子
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
package?com.example.listviewselectmode;?
import?android.R.integer;?
import?android.os.Bundle;?
import?android.app.ListActivity;?
import?android.app.ListActivity;?
import?android.view.ActionMode;?
import?android.view.Menu;?
import?android.view.MenuItem;?
import?android.widget.AbsListView.MultiChoiceModeListener;?
import?android.widget.ArrayAdapter;?
import?android.widget.ListView;?
import?android.widget.Toast;?
?
public?class?MainActivity?extends?ListActivity?{?
?????
????String[]?itemsStrings={"a","b","c","d","e"};?
?
????@Override?
????protected?void?onCreate(Bundle?savedInstanceState)?{?
?????????
????????super.onCreate(savedInstanceState);?
????????ListView?listView=getListView();?
????????//注意此處沒有setContentView那一項(xiàng)?
????????listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);?
????????listView.setMultiChoiceModeListener(new?ModeChoice());?
????????//注意該adapter的第二個(gè)參數(shù)為android.R.layout.simple_list_item_checked?
????????ArrayAdapter<String>?adapter=new?ArrayAdapter<String>(getApplicationContext(),?android.R.layout.simple_list_item_checked,?itemsStrings);?
????????setListAdapter(adapter);?
????}?
?????
????@Override?
????protected?void?onPostCreate(Bundle?savedInstanceState)?{?
????????//?TODO?Auto-generated?method?stub?
?????????
????????getActionBar().setTitle("long?press?to?select");?
????????super.onPostCreate(savedInstanceState);?
?????????
????}?
?
????class?ModeChoice?implements?MultiChoiceModeListener{?
?
????????@Override?
????????public?boolean?onActionItemClicked(ActionMode?mode,?MenuItem?item)?{?
????????????//?TODO?Auto-generated?method?stub?
????????????int?count=getListView().getCheckedItemCount();?
????????????switch?(item.getItemId())?{?
????????????case?R.id.share:?
????????????????Toast.makeText(getApplicationContext(),?"you?share?"+count+"項(xiàng)",?1000).show();?
????????????????break;?
????????????default:?
??????????????????Toast.makeText(MainActivity.this,?"Clicked?"?+?item.getTitle(),?
????????????????????????????Toast.LENGTH_SHORT).show();?
????????????????break;?
????????????}?
?????????????
????????????return?true;?
????????}?
?
????????private?void?setSubtitle(ActionMode?mode)?{?
????????????//?TODO?Auto-generated?method?stub?
????????????int?count=getListView().getCheckedItemCount();?
????????????switch?(count)?{?
????????????case?0:?
????????????????mode.setSubtitle("");?
????????????????break;?
????????????case?1:?
????????????????mode.setSubtitle("you?select?one?item");?
????????????????break;?
????????????default:?
????????????????mode.setSubtitle("you?select"+count+"items");?
????????????????break;?
????????????}?
????????}?
?
????????@Override?
????????public?boolean?onCreateActionMode(ActionMode?mode,?Menu?menu)?{?
????????????//?TODO?Auto-generated?method?stub?
????????????getMenuInflater().inflate(R.menu.main,?menu);?
????????????mode.setSubtitle("select?item");?
????????????setSubtitle(mode);?
????????????//此處需注意需要返回true?
????????????return?true;?
????????}?
?
????????@Override?
????????public?void?onDestroyActionMode(ActionMode?mode)?{?
????????????//?TODO?Auto-generated?method?stub?
?????????????
????????}?
?
????????@Override?
????????public?boolean?onPrepareActionMode(ActionMode?mode,?Menu?menu)?{?
????????????//?TODO?Auto-generated?method?stub?
?????????????
????????????return?false;?
????????}?
?
????????@Override?
????????public?void?onItemCheckedStateChanged(ActionMode?mode,?int?position,?
????????????????long?id,?boolean?checked)?{?
????????????//?TODO?Auto-generated?method?stub?
????????????setSubtitle(mode);?
????????}?
?????????
?????????
????}?
?
}
轉(zhuǎn)載于:https://my.oschina.net/u/1015229/blog/391499
總結(jié)
以上是生活随笔為你收集整理的listview 的 selection mode 训练小例子的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 排序和顺序统计学(2)——快速排序
- 下一篇: android手势操作滑动效果触摸屏事件