Я хочу показать меню ActionMode (для большего количества опций) с помощью LongClicking в каждой строке моего ListView в моем проекте. но когда я нажимаю на них, ничего не происходит. примечание: я использую этот учебник для написания этого кода: in-android/" rel="nofollow">http://wptrafficanalyzer.in/blog/creating-a-contextual-menu-bar-contextual-action-mode-for-a-single-view-in-android/< /a> это мой код:
public class MyActivity extends Activity {
private ListView listView;
private ActionMode actionMode;
ActionMode.Callback callback;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
listView = (ListView) findViewById(R.id.ListView);
final ActionMode.Callback callback = new ActionMode.Callback() {
/** Invoked whenever the action mode is shown. This is invoked immediately after onCreateActionMode */
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
/** Called when user exits action mode */
@Override
public void onDestroyActionMode(ActionMode mode) {
actionMode = null;
}
/** This is called when the action mode is created. This is called by startActionMode() */
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
mode.setTitle("Demo");
getMenuInflater().inflate(R.menu.edit_vow, menu);
return true;
}
/** This is called when an item in the context menu is selected */
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch(item.getItemId()){
case R.id.editBTN:
Toast.makeText(getBaseContext(), "Selected Action1 ", Toast.LENGTH_LONG).show();
mode.finish(); // Automatically exists the action mode, when the user selects this action
break;
case R.id.deleteBTN:
Toast.makeText(getBaseContext(), "Selected Action2 ", Toast.LENGTH_LONG).show();
break;
case R.id.doneBTN:
Toast.makeText(getBaseContext(), "Selected Action3 ", Toast.LENGTH_LONG).show();
break;
}
return true;
}
};
//long-click to edit data
View.OnLongClickListener listener = new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
if(actionMode!=null)
return false;
else
actionMode = startActionMode(callback);
return true;
}
};
listView.setOnLongClickListener(listener);
}
Пожалуйста, помогите мне, спасибо!