当用户点击列表视图中的项目时,我正在尝试进入Contextual ActionBar。我有这个代码。
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
return false;
}
};
在同一课程中我有
myListView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id)
{
startActionMode(mActionModeCallback);
}
});
问题是Eclipse在startActionMode中给出了一个错误:
Activity类型中的方法startActionMode(ActionMode.Callback)不适用于参数(ActionMode.Callback)
我该如何解决这个问题?
答案 0 :(得分:4)
由于您使用的是支持库,因此必须使用startSupportActionMode(Callback)
代替startActionMode(Callback)
https://developer.android.com/reference/android/support/v7/view/ActionMode.Callback.html
答案 1 :(得分:0)
您的代码没有问题,请检查这些导入
import android.view.ActionMode;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
并尝试再次清理和构建。