Articles of listview

OnItemClickListener和OnClickListener不适用于ListView

我使用了自定义ListView,我使用相同的ListView显示一些数据。 当我单击列表视图项时,不会调用onClickListener 。 我无法选择任何列表项。 布局代码: 适配器代码: public class CustomListAdapter extends BaseAdapter { ArrayList PropertiesArray; private LayoutInflater Inflater; public CustomListAdapter(ArrayList PropertiesArray) { this.PropertiesArray=PropertiesArray; } @Override public int getCount() { // TODO Auto-generated method stub return PropertiesArray.size(); } @Override public Object getItem(int position) { return PropertiesArray.get(position); } @Override public long getItemId(int position) { return position; } @Override […]

将背景颜色设置为android中选定的ListView项

我有一个列表视图,显示几个项目。 现在我想滚动到一些特定项目(例如第33项)。 我知道这可以通过 myList.setSelection(32); 但是在UI上,该项目没有收到任何突出显示(因为它处于触摸模式?!)。 如何为此项目应用特定背景颜色? 我试过了 myList.getSelection().getSelectedView().setBackgroundColor(Color.Red); 但我得到一个NullPointerException,因为getSelectedView()返回null。 有没有办法实现这个突出显示? 我必须以某种方式通知用户哪个项目是“活动”的…

捏缩放ListView Android

我正试图在Android上实现缩放以放大列表视图,当我单击并拖动缩放列表视图时,我遇到了问题。 首先,这是代码: public class ScaleListView extends ListView { private ScaleGestureDetector mScaleDetector; private float mScaleFactor = 1.f; private float x = 0; private float y = 0; private float startx = 0; private float starty = 0; private boolean canClick = true; private float xtranslation = 0; public ScaleListView(Context context, AttributeSet attrs) { super(context, attrs); mScaleDetector […]

ListView工具:listitem无法在android studio 2.2稳定通道中运行

重现步骤: 打开布局编辑器 添加ListItem 指定工具:具有有效row_layout的listitem属性 应该怎么做: 它应该使用工具布局:listitem来呈现列表项。 实际结果: 没有任何变化,它仍然显示具有通用视图的默认列表 错误报告 我可以看到这个bug已经在2016年7月5日Bug Report Link上提交了 有没有可用于渲染列表的工作?

具有多个项目布局的ListView

我的ListActivity上有一个ListView ,我希望ListView的行是3种不同布局中的一种。 我列表中的第一项始终使用布局A,列表中的第二项始终使用布局B,所有后续项目将使用布局C. 这是我的getView函数: @Override public View getView(int position, View convertView, ViewGroup parent) { // get the View for this list item View v = convertView; if (v == null) { LayoutInflater vi = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); switch (position) { case 0: v = vi.inflate(R.layout.layout_A, parent, false); break; case 1: v = vi.inflate(R.layout.layout_B, parent, false); break; default: […]

Android下载多个文件并在ListView中显示进度

我有N个文件要下载。 我想在后台连续下载它们 – 一个接一个。 我想在ListView中显示进度和状态。 所以,ListView看起来像: File1 …已下载 文件2 ….下载 File3 …正在进行中说39% File4 ……待定 …. Listview定期刷新(比如说每2秒),文件很大:50 MB左右。 所以他们需要1分钟才能下载。 我将文件URL列表传递给AsyncTask并将其下载到后台。 问题是如何将进度反馈回ListView。 考虑用户可以离开ListView页面离开AsyncTask只运行返回以查看下载状态。 那么ListView如何“观察”AsyncTask的进度并显示它呢? 我正在考虑添加一组静态variablesAsyncTask(使用“Synchronized”块保护它们)并在Fragment中使用一个显示ListView的定期UI Updater。 所以片段会有这样的东西: 有时间延迟重复一项任务? 是否有设计模式,公共项目或示例代码? 对不起,我不是一张好照片。 我所描述的最接近的是这里(类似但我计划使用AsyncTask和串行下载):

如何在Android ListView中滑动删除后管理撤消?

我需要在带有撤消function的ListView实现滑动删除,就像在Gmail应用中一样 我知道有些问题已经在询问刷卡删除之类的问题了 使用Slide-Like Gmail删除项目列表视图 和 android滑动删除列表行 但是他们都没有解释如何在删除后管理撤消 ,并在撤消时回复已删除的视图! 我find了另一个没有答案的人 如何在列表项中实现诸如Achieve或Undo操作之类的gmail 所以这是我的问题。 如何在android中创建一个列表视图,使用滑动删除然后在删除的空间中显示UNDO,如果按下撤消animation回动相同的视图,还删除滚动或其他项目点击或滑动时的撤消选项? 你聪明的人有什么想法吗? | ———– ITEM 1———–| | ———– ITEM 2———–| | –Deleted——-| | ———– ITEM 4———–| | ———– ITEM 5———–| 注意:很抱歉我因为声誉不佳而无法添加图片!

Android ListView状态列表未显示默认项目背景

已经在SO上阅读了一些相关的问题,并通过Android文档和源代码查看了这一点,但是我很难过,尽管listSelector似乎只对所选项目应用样式,但是我没有震惊…… 我在main.xml中定义了Listview: 引用的listSelector在这里(主要借用SDK中的默认Android状态列表:/android/platforms/android-8/data/res/drawable/list_selector_background.xml): 引用的drawables是形状,圆角矩形,如下所示: 因此,最终结果应该是ListView,默认情况下具有@ drawable / shape_row背景的项目,然后根据状态设置不同的彩色背景。 当我启动列表时,一切都可以正常运行状态,例如项目获得焦点,按下等等,但是当没有选择项目时,项目本身具有透明背景(即默认视图状态)。 我曾希望国家清单的最后一条规则, 将捕获该状态,但由于某种原因它不起作用。 我已经移动了一些东西,尝试了不同的设置,什么都没有。 如果我编辑用于在ListView中定义列表项的row.xml文件并尝试添加指向@ drawable / shape_row的特定android:background,则每行都会获得正确的背景,但是在按下时,在焦点上,等状态未能处理(或至少,不能被视为背景永远不会改变)。 任何人都能指出我在正确的方向吗? 我很接近把这个放到床上,但在尝试了几乎所有东西之后,只是无法获取ListView项目采用默认背景并通过android:listSelector响应实现的State List。 谢谢, 保罗 编辑: 还尝试将android:itemBackground =“@ drawable / shape_row”添加到main.xml中的ListView,毫不奇怪的是没有运气(文档声明它应该用于指定菜单项的背景,但认为值得用列表拍摄项目)。 尝试了另一件事,为每个选择器和项目定义添加了android:visible =“true”。 StateListDrawable文档似乎表明“提供drawable的初始可见性状态;默认值为false” ,但添加此更改没有。 EDIT2:所以,基于Qberticus下面的研究,似乎每个视图只能有一组列表选择器,这确认了列表选择器的行为。 我还可以确认设置android:drawSelectorOnTop确实会移动所选项目的选择器IN FRONT,但这当然会遮挡项目本身,这样我只能看到选择器本身(在我的情况下是彩色形状)。 以下是背景设置列表的样子: 由于设置了背景,选择项目时外观没有变化。 如果我将android:drawSelectorOnTop指令更改为true并选择一个项目,我得到: 最后,如果我没有为列表项设置背景图像,选择器按预期工作,但当然,没有背景图像,因为StateSelector的最后一条规则似乎没有被遵循(不应该作为一个catchall?)对于未选择的项目,意味着没有漂亮的自定义圆形形状: 所以,我的问题仍然存在; 如果我没有为每个列表项设置背景,我可以看到选择器工作但是未选中时项目没有背景。 如果我为项目设置背景,则在未选中时它们看起来很棒,但背景会遮挡选择器。 难道不可能拥有一个具有工作选择器的独特形状的列表项吗? 感谢能够减肥的任何人。

Listview – 屏幕底部的页脚

我有一个ListView,其中一个页脚添加了listview.addFooterView(footerView); 所有工作都按预期排除在一个案例中:当我的列表视图的项目没有填满整个屏幕时,我希望页脚位于屏幕的底部,而不是在中间。 有没有办法轻松做到这一点? 或者我应该改变我的布局? 谢谢 编辑:这可能会有所帮助(这就是我想要的)

不要在listview中停止animation

我正在使用AnimationDrawable下载progressBar我把animation放在getview中它工作正常。 但是当我滚动列表时,animation已被停止。 是否有任何AnimationDrawable方法来解决这个问题。 喜欢Dialog中的setCancelable。 请帮帮我…谢谢 ImageView anim = (ImageView) rootview.findViewById(R.id.imageView2); AnimationDrawable animation = (AnimationDrawable) anim.getDrawable(); animation.start(); 截图: