Articles of android listview

列表视图设置自定义波纹选择器

我正在尝试在以下条件下使用Lollipop上的列表视图控件: 主题types是默认的Theme.Material(黑暗主题)。 列表视图包含在具有白色背景的较大布局中。 列表视图应具有显示为白色背景的列表选择器。 注意:我被迫使用自定义列表选择器颜色,因为如果我使用白色背景,暗材料主题选择器使用主题的colorControlHighlight颜色为纹波,即40ffffff,并且不显示。 我首先尝试了以下内容: 布局xml list_selector xml 并列出视图行xml 我期待看到的是当我选择一个项目时,选择的项目的波纹颜色为#ff0000。 然而,这是我最终看到的: 我希望的是有点接近这种行为 – 但限制在选定的列表行中! 我究竟做错了什么? 谢谢,扎克

Android – 我怎么知道gridview什么时候到达底部?

我正在构建一个从JSON加载图像并将其显示为网格视图的应用程序。 问题是有数百个图像,我想每次加载20个,我想在滚动到达底部时从服务器下载更多图片。 所以,我怎么能分辨出网格 视图到底了? 我在网上搜索过,无法想象这个…… 谁有想法? 我正在添加一个应用程序的照片,它的function与我想要的非常相似。 谢谢。

Android ListView项目没有填充宽度

我有一个ListView和我填充另一个xml布局的行,但ListView行的宽度没有填充listview宽度。我已经搜索到任何地方,我得到的答案是使宽度fill_parent,但它不适合我。 .. 请帮助….提前感谢…这里是代码: row.xml ListView.xml

如何使用通用图像加载器

我有一个要求,我需要加载缩略图和ListView中的Text ,由自定义Adapter设置。 缩略图应该存储在缓存中,因为我使用的是通用图像加载器,但我对它的实现非常困惑,以及如何根据我的要求使用它从URL加载ListView的图像。 请通过良好的实施建议我一些方法。

ListView右侧有字母,就像iPhone一样。 可能吗?

我想知道Android中的ListView是否可以选择将字母放在右侧,就像iPhone ListView的范例一样,如下所示 如果是,有人可以向我提供示例代码。 我不是在寻找ApisDemo中带有Alphabet叠加的那个,而是像iPhone范例那样的精确叠加。 可能吗?

涟漪效应有时不会出现

我定义了一个波纹drawable并将其设置为listview项目视图背景的背景。 它几乎可以正常工作,但有时涟漪效应并没有出现在印刷机上。 这是波纹可绘制代码: 我有一个导航抽屉,使用这个抽屉作为抽屉项目的背景: …. 但是,每次打开应用程序时,默认选中的项目在按下时都不会显示涟漪效果。 但是在我选择另一个项目然后再次选择它之后,一切都会好起来的。 我对另一个几乎相同的ListView使用完全相同,除了选择模式是多个。 而这一次,只要选中它们,项目就不会显示出按下时的涟漪效应。 在另一个未指定选择模式的listView中,只有第一个项目显示涟漪效应,而其他项目的行为与较低的Android版本相同。 我真的不知道如何让它适用于所有场景。 也许它真的与ListView的选择模式有关? ==== 编辑 ==== 我刚刚为所有这三个listView添加了属性drawSelectorOnTop,现在清除了前两个问题。 然而对于第三个,它现在变成这样: 涟漪效果对所有项目都有效,除了第一个显示两个涟漪的项目! 其中一个从我的手指按下的位置开始,而另一个始终从中间开始! ==== 再次编辑 ====好了,现在我调整drawable将激活状态移到ripple节点之外,再与listview的drawSelectorOnTop属性一起,问题现在完全消失了。

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

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

滚动ListView时有很多GC(带支架图案)

这是一个类似的问题,但解决方案不起作用。 问题是ListView的滚动非常缓慢,这是因为有很多很多GC。 我使用holder pattern(视图缓存),如下面的代码所示: public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { convertView = mInflater.inflate(R.layout.eventrow, parent, false); holder = new ViewHolder(); holder.title = (TextView) convertView.findViewById(R.id.eventTitle); holder.place = (TextView) convertView.findViewById(R.id.eventPlace); convertView.setTag(holder); } else { // Get the ViewHolder back to get fast access to the TextView // and […]

多个推送消息:适配器的内容已更改,但ListView未收到通知

当我在1秒内从GCM收到大量推送消息(假设为50)时,我收到以下exception: java.lang.IllegalStateException:适配器的内容已更改,但ListView未收到通知。 确保不从后台线程修改适配器的内容,而只是从UI线程修改。 [在ListView(2131427434,类android.widget.ListView)和适配器(类an)]在android.widget.List.layoutChildren(ListView.java:1544)在android.widget.AbsListView.onLayout(AbsListView.java:2045)在Android.widget上的android.view.View.layout(View.java:14255)android.view.Linout.setChildFrame(LinearLayout.java:1670)的android.view.ViewGroup.layout(ViewGroup.java:4413)。 LinearLayout.layoutVertical(LinearLayout.java:1528)位于android.view.View.layout(View.java:14255)的android.view.Linout.onLayout(LinearLayout.java:1441)android.view.ViewGroup.layout(ViewGroup) .java:4413)在Android.view.ViewGroup.layout(ViewGroup.java:4413)的android.view.View.layout(View.java:14255)的android.support.v4.view.ViewPager.onLayout(未知来源)在android.widget.LinearLayout.setChildFrame(LinearLayout.java:1670)的android.widget.LinearLayout.layoutVertical(LinearLayout.java:1528)在android.view上的android.widget.LinearLayout.onLayout(LinearLayout.java:1441) .View.layout(VIE w.java:14255)在Android.view.Viewout(View.java:android.view.Lout)中的android.view.ViewGroup.layout(ViewGroup.java:4413)android.sview.v4上的android.support.v4.widget.DrawerLayout.onLayout(未知来源) 14255)在android.view.Loutout(MapLayout.java:446)的android.view.View.Loutout(ViewLayout.java:446)的android.view.Viewout.Layout(View.java:1425)上的android.view.ViewGroup.layout(ViewGroup.java:4413)。在android.view上的android.view.View.layout(View.java:14255)的android.support.v7.internal.widget.ActionBarOverlayLayout.onLayout(未知来源)中查看.ViewGroup.layout(ViewGroup.java:4413)。位于android.view.View.Loutout(ViewLayout.java:446)的android.view.Viewout.Layout(View.java:446)上的ViewGroup.layout(ViewGroup.java:4413)在android.view.ViewGroup.layout(ViewGroup) .java:4413)在Android.widget.LinearLayout.ayLayout(LinearLayout.java:1441)上的android.widget.LinearLayout.setChildFrame(LinearLayout.java:1670)在android.widget.LinearLayout.ayoutVertical(LinearLayout.java:1528)在android.vi上的android.view.View.layout(View.java:14255) ew.ViewGroup.layout(ViewGroup.java:4413)位于android.view.View.Viewout.layout的android.view.View.layout(View.java:14255)的android.widget.FrameLayout.onLayout(FrameLayout.java:446) (ViewGroup.java:4413)在Android.view.ViewRootImpl.exeTraversals(ViewRootImpl.java:1812)上的android.view.ViewRootImpl.performLayout(ViewRootImpl.java:1998)处于android.view.ViewRootImpl.doTraversal(ViewRootImpl.java: 1050)在Android.view.ChoreIs上的android.view.ViewRootImpl $ TraversalRunnable.run(ViewRootImpl.java:4560),在android.view.Choreographer.doCallbacks(Choreographer.java:562)的android.view.Choreographer $ CallbackRecord.run(Choreographer.java:749) )在android.view.Choreographer $ FrameDisplayEventReceiver.run(Choreographer.java:735)android.view.Handler.handleCallback(Handler.java:725)android.view.Choreographer.doFrame(Choreographer.java:532)位于android.app.Looper.loop(Looper.java:137)的.os.Handler.dispatchMessage(Handler.java:92)位于java.lang.reflect的android.app.ActivityThread.main(ActivityThread.java:5171)。中号 在com.android的com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:797)的java.lang.reflect.Method.invoke(Method.java:511)中的ethod.invokeNative(Native Method)。在dalvik.system.NativeStart.main(Native方法)的internal.os.ZygoteInit.main(ZygoteInit.java:564) 我已经尝试通过在notifyDataSetChanged()放入messages.add()和notifyDataSetChanged()来解决这个runOnUIThread 。 我想这是因为我的侦听器的onUpdate()被调用每个推送消息。 但是, runOnUIThread()不应该解决这个问题,因为一切都是连续执行的吗? MainApplication app = (MainApplication) context.getApplicationContext(); app.setOnRoomMessageUpdateListener(new OnRoomMessageUpdateListener() { @Override public void onUpdate() { // save message with highest time, so we can only query the new […]

如何在android中的android列表中获取youtubevideo的video缩略图

我正在开发一个应用程序,我想显示一个包含youtubevideourl的列表。 我成功显示列表但问题是我无法显示video缩略图。 如何以编程方式创建YouTubevideo缩略图。 谢谢 编辑: – Hiren Dabhi提供我现在正在使用的解决方案,它解决了问题 谢谢