- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为了支持操作栏,我使用 Android 支持库包 V4 和 V7。我在我的应用程序中使用 MultiChoiceModeListener。我如何为 2.3 设备使用 MultiChoiceModeListener..
最佳答案
工作示例 V7
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.view.ActionMode;
import android.util.SparseBooleanArray;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;
public class MainActivity extends ActionBarActivity {
static final String[] COUNTRIES = new String[] {
"Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra",
"Angola", "Anguilla", "Canada", "France", "Spain" };
private ListView mListView;
private ActionMode mMode;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mMode = null;
mListView = (ListView) findViewById(R.id.listView1);
mListView.setAdapter(new ArrayAdapter(this,
android.R.layout.simple_list_item_multiple_choice, COUNTRIES));
mListView.setItemsCanFocus(false);
mListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
mListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
SparseBooleanArray checked = mListView.getCheckedItemPositions();
boolean hasCheckedElement = false;
for (int i = 0 ; i < checked.size() && ! hasCheckedElement ; i++) {
hasCheckedElement = checked.valueAt(i);
}
if (hasCheckedElement) {
if (mMode == null) {
mMode = startSupportActionMode(new ModeCallback());
}
} else {
if (mMode != null) {
mMode.finish();
}
}
}
});
}
private final class ModeCallback implements ActionMode.Callback {
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
// Create the menu from the xml file
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.activity_main, menu);
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
// Here, you can checked selected items to adapt available actions
return false;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
// Destroying action mode, let's unselect all items
for (int i = 0; i < mListView.getAdapter().getCount(); i++)
mListView.setItemChecked(i, false);
if (mode == mMode) {
mMode = null;
}
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
long[] selected = mListView.getCheckedItemIds();
if (selected.length > 0) {
for (long id: selected) {
// Do something with the selected item
}
}
mode.finish();
return true;
}
};
}
关于Android MultiChoiceModeListener 支持 2.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21364687/
我试图从 Android 源代码中找到 MultiChoiceModeListener 接口(interface)的代码。但我能找到的只是一具骨架: http://androidxref.com/4.
是否有可能使用 MultiChoiceModeListener 或类似的可以从操作栏按钮调用的东西来获取上下文操作栏,因为默认情况下它是在长按列表项后执行的?现在我正在实现 onItemClick 方
我遇到了问题。在扩展 ListActivity 和实现 MultiChoiceModeListener 的主要 Activity 中,我有覆盖方法 onItemCheckedStateChanged(
为了支持操作栏,我使用 Android 支持库包 V4 和 V7。我在我的应用程序中使用 MultiChoiceModeListener。我如何为 2.3 设备使用 MultiChoiceModeLi
我希望能够看到在我的列表中选择了哪些项目。在将 ListView 转换为 ListFragment 之前,所选项目的背景色为蓝色(Holo Dark),但现在我只能在按下项目时看到蓝色 - 然后它消失
我正在尝试使用 AppCompatActivity 和 Toolbar 将多选上下文菜单添加到支持库 22.1.1 的 listview 没有支持库我可以使用 AbsListView.MultiCho
所以,我正在阅读 this earlier question有关如何允许我单击列表中的项目以执行一个操作或长按该项目以切换到 ActionMode 的想法,我可以在其中选择多个项目并使用 Action
我有一个带有相应适配器的 recyclerview。我想在长按 recyclerview 项目时在工具栏中显示多个 customview 菜单选项。非常感谢任何帮助。提前致谢。 最佳答案 我也在做同样
对于基于 ICS 的应用程序,我创建了一个 ListFragment,它又使用 BaseAdapter 实现。我启用了 MultiChoiceModeListener() 以显示上下文操作栏。但这里的
代码如下: mListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL); mListView.setMultiChoice
我有一个实现 MultiChoiceModeListener 接口(interface)的 fragment (v4 支持库)。但是我在 list 中定义了 android:minSdkVersion
我是一名优秀的程序员,十分优秀!