Articles of listview

ListView中的setOnItemClickListener VS setOnItemSelectedListener。

我希望在ListView的项目上设置setOnItemClickListener ,但我看到两个方法setOnItemClickListener和setOnItemSelectedListener 。 我在官方文件中find了对这两者的任何合理解释。 哪一个用于什么目的? 要选择一个项目,用户必须单击该项目然后使用不同的方法是什么?

在ListView中创建简单的字母滚动?

我想在最新的音乐应用程序中模拟function,即popup的漂亮的小光标,允许人们快速滚动到他们正在寻找的艺术家/专辑/曲目: 有没有一种方法可以在Android SDK的ListView中启用这样的function?

android – 禁用Listview项目单击并重新启用它

所以我在适配器中有以下代码: @Override public boolean isEnabled(int position) { GeneralItem item = super.getItem(position); boolean retVal = true; if (item != null) { if (currSection != some_condition) retVal = !(item.shouldBeDisabled()); } return retVal; } public boolean areAllItemsEnabled() { return false; } 这里的问题是:如果我在初始绑定期间禁用了我的项目,现在我在屏幕上引发事件并且无论如何都需要启用它们。 在执行该操作后,我是否再次重新绑定它? 例如: onCreate{ // create and bind to adapter // this will disable items at certain […]

ExpandableListView仅在特定Button上展开?

好吧,我正在尝试创建一个像Spotify一样的ExpandableListView它…但我不知道如何禁用LinearLayout像一个按钮(展开列表)我创建了一个图像应该描述我喜欢什么。 我喜欢有可能处理文本/图像(父)的点击作为正常的交互。 单击右键应该像Spotify一样扩展列表…

如何使用addHeaderView将简单的ImageView添加到ListView

我的目标很简单。 我想在ListView添加一个“Red Rectangle”作为headerview 。 所以我创建了一个简单的活动 public class MainActivity extends Activity { private String[] adapterData = new String[] { “Afghanistan”, “Albania”, “Algeria”, “American Samoa”, “Andorra”, “Angola”}; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView lv; lv = (ListView)findViewById(R.id.list); LayoutInflater lf; View headerView; lf = this.getLayoutInflater(); headerView = (View)lf.inflate(R.layout.header, null, false); lv.addHeaderView(headerView, null, false); lv.setAdapter(new ArrayAdapter(this, […]

Android:将手势事件传递给另一个视图

我继续在Sticky ListView上工作,其中ListView中的指定视图在经过时会粘到顶部和/或底部。 我通过设置一个与列表项相同的视图,并在列表项在屏幕上和屏幕上传递时显示或隐藏它。 我的问题是,当这些“粘性”项目存在时,我希望它们对触摸作出反应,就像它们是listview本身的一部分一样。 例如,向下粘贴顶部粘贴应该发送列表视图向下滚动。 我的问题是,是否可以为此视图分配触摸侦听器,然后将这些事件直接传递给列表。 我希望它会像以下一样简单: ListView list; …. stickyview.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View arg0, MotionEvent motionEvent) { list.onTouchEvent(motionEvent); return false; } });

突出显示ListView项目中的搜索文本

我有一个ListView ,我使用自定义适配器来显示数据。 现在我想改变搜索文本字母颜色,如上面的屏幕截图。 这是SearchView的代码 @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.actionbar_menu_item, menu); SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); final SearchView searchView = (SearchView) menu.findItem(R.id.action_search) .getActionView(); searchView.setSearchableInfo(searchManager .getSearchableInfo(getComponentName())); searchView.setOnQueryTextListener(this); return super.onCreateOptionsMenu(menu); } public boolean onQueryTextChange(String newText) { // this is adapter that will be filtered if (TextUtils.isEmpty(newText)){ lvCustomList.clearTextFilter(); } else{ lvCustomList.setFilterText(newText.toString()); } return […]

为什么getView在SeparatedListAdapter上返回错误的convertView对象?

我根据我的需要改编了Jeff Sharkey的SeparatedListAdapter,得到了这样的结果: public class SeparatedListAdapter extends BaseAdapter { @SuppressWarnings(“unused”) private final String LOG_TAG = getClass().getSimpleName(); public final static int TYPE_SECTION_HEADER = 0; public final Map sectionAdapters; public final ArrayAdapter headerAdapter; public SeparatedListAdapter(ArrayAdapter headerAdapter) { super(); this.sectionAdapters = new LinkedHashMap(); this.headerAdapter = headerAdapter; } public void addSection(T section, Adapter adapter) { this.headerAdapter.add(section); this.sectionAdapters.put(section, adapter); } public […]

如何在Android ListView中设置所选项目的样式?

我是一个Android新手,试图学习UI方面的东西,它正在努力。这就是我现在所拥有的: breeds_listing.xml breeds_listing_item.xml list_item_background.xml 我正在努力弄清楚的是我如何设计所选项目的样式? 目前,所选项目具有可怕的橙色背景,在圆形绿色矩形下,呈现橙色轮廓效果。 我确信我没有按照最佳做法做事,所以任何建议或改进都将不胜感激。 非常感谢,D。

Android中onItemClick的“int”和“long”参数之间有什么区别?

当我们实现OnItemClickListener ,我们必须实现onItemClick方法,这是OnItemClickListener接口中的抽象方法。 在onItemClick方法中有四个参数。 public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) { Toast.makeText(this, “Clicked on : ” + arg2 + ” long arg : ” + arg3, Toast.LENGTH_LONG).show(); } 我需要知道的是最后两个参数之间的区别( int arg2, long arg3 )。 正如你在我的代码中看到的,当我尝试Toast ,我得到两个参数的相同值。