Java listview中的Actionbar上下文
我试图在单击ListView的项目时插入上下文操作栏。我要做的是在列表中选择多个项目,然后通过单击操作栏中的相应图标对其执行操作。我写了这段代码Java listview中的Actionbar上下文,java,android,xml,listview,Java,Android,Xml,Listview,我试图在单击ListView的项目时插入上下文操作栏。我要做的是在列表中选择多个项目,然后通过单击操作栏中的相应图标对其执行操作。我写了这段代码 applicationListView = (ListView) findViewById(R.id.list); applicationListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL); applicationListView.setOnItem
applicationListView = (ListView) findViewById(R.id.list);
applicationListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
applicationListView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id)
{
SparseBooleanArray positions = applicationListView.getCheckedItemPositions();
int counter = 0;
if (positions != null) {
int length = positions.size();
for (int i = 0; i < length; i++) {
if (positions.get(positions.keyAt(i))) {
counter++;
Toast.makeText(getBaseContext(), ""+counter++, Toast.LENGTH_SHORT).show();
}
}
}
startSupportActionMode(mActionModeCallback);
}
});
private ActionMode.Callback mActionModeCallback = new ActionMode.Callback(){
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
MenuInflater inflater = mode.getMenuInflater();
inflater.inflate(R.menu.contextual_action_bar, menu);
return true;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_item1:
return true;
case R.id.menu_item2:
//close the action mode
//mode.finish();
return true;
default:
mode.finish();
return false;
}
}
@Override
public boolean onPrepareActionMode(ActionMode arg0, Menu arg1) {
// TODO Auto-generated method stub
arg0.setTitle("Selected item: ");
return false;
}
};
有各种各样的问题
1-当我单击某个项目时,该项目会显示在上下文操作栏中,但所选项目不会高亮显示,例如,蓝色。当您选择这些项目时,就像再次创建了ActionBar一样,正如我看到的那样,ActionBar图标消失并重新出现,就像它确实是重新创建的一样
2-当我点击祝酒词中的一个项目时,总是将数字1形象化。为什么?如何获取所选项目的编号,然后将其作为操作栏的标题?您可以查看演示: