- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试覆盖 Android Webview 中的上下文操作栏。当我长按选定的单词时,会显示自定义操作栏。但是,当我单击操作栏按钮时,没有任何反应。
似乎没有调用 onContextItemSelected()
函数。这是我的代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dictionary);
mWebView = (WebView) findViewById(R.id.wv);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.save_word:
Toast.makeText(CheckDictionary.this,"Save Word Meaning Successfully",Toast.LENGTH_LONG).show();
break;
default:
break;
}
if (mActionMode != null) {
mActionMode.finish();
}
return super.onContextItemSelected(item);
}
@Override
public void onActionModeStarted(ActionMode mode) {
if (mActionMode == null) {
mActionMode = mode;
mode.setTitle("Save Word Meaning");
Menu menu = mode.getMenu();
menu.clear();
mode.getMenuInflater().inflate(R.menu.dictionary_menu, menu);
}
super.onActionModeStarted(mode);
}
@Override
public void onActionModeFinished(ActionMode mode) {
mActionMode = null;
super.onActionModeFinished(mode);
}
}
最佳答案
我在我的旧项目中做这项工作是这样的:
private String[] data = {"1", "2", "3", "4", "5", "6", "7", "8", "9","10"};
private SelectionAdapter mAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mAdapter = new SelectionAdapter(this,
R.layout.row_list_item, R.id.textView1, data);
setListAdapter(mAdapter);
getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
getListView().setMultiChoiceModeListener(new MultiChoiceModeListener() {
private int nr = 0;
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
// TODO Auto-generated method stub
return false;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
// TODO Auto-generated method stub
mAdapter.clearSelection();
}
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
// TODO Auto-generated method stub
nr = 0;
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.contextual_menu, menu);
return true;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case R.id.item_delete:
nr = 0;
mAdapter.clearSelection();
mode.finish();
}
return false;
}
@Override
public void onItemCheckedStateChanged(ActionMode mode, int position,
long id, boolean checked) {
// TODO Auto-generated method stub
if (checked) {
nr++;
mAdapter.setNewSelection(position, checked);
} else {
nr--;
mAdapter.removeSelection(position);
}
mode.setTitle(nr + " selected");
}
});
getListView().setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<? arg0, View arg1,
int position, long arg3) {
// TODO Auto-generated method stub
getListView().setItemChecked(position, !mAdapter.isPositionChecked(position));
return false;
}
});
}
private class SelectionAdapter extends ArrayAdapter<String {
private HashMap<Integer, Boolean mSelection = new HashMap<Integer, Boolean();
public SelectionAdapter(Context context, int resource,
int textViewResourceId, String[] objects) {
super(context, resource, textViewResourceId, objects);
}
public void setNewSelection(int position, boolean value) {
mSelection.put(position, value);
notifyDataSetChanged();
}
public boolean isPositionChecked(int position) {
Boolean result = mSelection.get(position);
return result == null ? false : result;
}
public Set<Integer getCurrentCheckedPosition() {
return mSelection.keySet();
}
public void removeSelection(int position) {
mSelection.remove(position);
notifyDataSetChanged();
}
public void clearSelection() {
mSelection = new HashMap<Integer, Boolean();
notifyDataSetChanged();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);//let the adapter handle setting up the row views
v.setBackgroundColor(getResources().getColor(android.R.color.background_light));
if (mSelection.get(position) != null) {
v.setBackgroundColor(getResources().getColor(android.R.color.holo_blue_light);
}
return v;
}
}
您可以根据需要更改此代码...
关于安卓 WebView : Override Contextual Action Bar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35837476/
我正在尝试在我的域中部署上下文小工具。 我遵循了开发指南,但小工具没有出现。 我认为问题出在“数据访问”:如果安装似乎顺利,则事件, 在 Google Apps 控制台中,小工具的数据访问部分显示一个
我有一个深色 ActionBar 和一个用于 ActionMode 的浅色 Contextual ActionBar。我看过this question关于更改 ActionBar 中的溢出图标,它可以
关于如何在导致错误时禁用它的问题和答案有很多,但此功能到底有什么作用? 最佳答案 你检查过这个帖子吗:Disabling contextual LOB creation as createClob()
考虑以下日志记录示例。有两个 python 文件,myapp.py 和 mylib.py。 # myapp.py import logging import mylib class customAda
我有 2 个关于格式化数据以用于上下文强盗模型训练的问题。 如果我有如下数据... 1:1:0.2 | d1:us d2:female d3:12 问题 1)我从 VW Wiki 上读到,每个功能都可
我们是这个小工具的开发者,它已经运行了几年。我们有最终客户报告说,某些用户的工具栏正在消失,我们自己的一些用户也看到了这种情况。在所有情况下为这些用户启用工具栏。 小工具定义位于: https://c
我正在尝试覆盖 Android Webview 中的上下文操作栏。当我长按选定的单词时,会显示自定义操作栏。但是,当我单击操作栏按钮时,没有任何反应。 似乎没有调用 onContextItemSele
我正在尝试使用 css bootstrap framework .我想像文档显示的那样使用“上下文背景” block 。 这是文档的截图 所以我尝试做这样的事情: Now
来自@Xeo 的优秀c++-faq 问题:Is the safe-bool idiom obsolete in C++11?我了解到不再需要 safe bool 习语,因为在 C+ 中需要 safe
Contextual ActionBar 没有与工具栏集成,就像它与 ActionBar 一样。它会出现在工具栏上方。这可以通过放置 `true` 在 styles.xml 中 问题是,虽然 CAB
好的,所以在没有给出太多通知的情况下,不再可能将市场列表添加到您的供应商资料中。 “创建新列表”按钮变灰。 我需要对现有市场列表进行更改,但这会出错。我们被迫使用新的 SDK。 所以我继续启用应用程序
我有一个阿拉伯字符串。例如:راماتراحيل 在阿拉伯语中,根据字母的位置,同一字母的字形也不同。 因此,如果“孤立”或“首字母”,Lam字母为ل,如果是中间或结尾,则字母ﻟ。 当我将原始字符串(
火狐版本 53.0(32 位) Selenium 3.4.0 ProfilesIni profile = new ProfilesIni(); FirefoxProfile firef
我正在尝试使用inversify将记录器注入(inject)到不同的类中。我想将目标类名传递给记录器以对其进行分类。 问题是我无法从创建绑定(bind)的位置访问目标名称: container.bin
我是编程和 C++ 的新手,正在学习如何使用 Allegro 5 编写游戏程序。我为自己设定的项目之一是清理我在此处找到的 Pong 教程源代码: http://www.cppgameprogramm
我正在使用 Monogame 开发多点触控应用程序,多个用户可以在更大的多点触控屏幕上同时处理单独的文档/图像/视频,我想知道是否有可能使手势“上下文感知” ",即用两根手指捏住墙一侧的文档不应影响平
我需要一个通用函数指针。我在下面编写了这个简单的代码,但是如果我尝试为函数指针赋值,g++ 会给我一个错误。 TestMain.cpp: In function ‘int main(int, cons
如果这个问题看起来有补救作用,我提前道歉。 哪个在 Python 中被认为更有效: 标准导入 import logging try: ...some code... exception Excep
许多 IDE 和编辑器都提供“上下文”编辑工具: 一个简单的例子是 Assistant Editor在 XCode 中。辅助编辑窗口会根据您所在的上下文自动加载相关的辅助文件。例如,如果您在主窗口中打
以下代码来自 Houser Fogus 的The Joy of Clojure(第二版)第 8.1.1 章: (defn contextual-eval [ctx expr] (eval `
我是一名优秀的程序员,十分优秀!