Articles of listview

在Android中迭代ListView项

我想将项目列表迭代到ListView中。 由于getChildCount()函数的奇怪行为(仅返回可见项目计数),下面的代码不足以将所有项目迭代到列表中。 for (int i = 0; i < list.getChildCount(); i++) { item = (View)list.getChildAt(i); product = (Product)item.getTag(); // make some visual changes if product.id == someProductId } 我的屏幕显示7个结果,当列表中有超过7个项目时,无法访问第8个项目。只有可见项目.. 我应该使用ListIterator吗? 谢谢。

在Android Listview中显示流数据的最佳方式

我们正试图在listview上显示表数据。 数据由8列和大约50行组成。 在一秒钟内,大约有8个更新数据到来。 (即:将row2-column5更新为某些内容。)每次有新数据出现时,我们都会更新专用单元格,并调用适配器的datasetchanged() ,这会导致一些性能和滚动问题。 我的问题是: 使用标准小部件在Android中显示流数据的最佳方法是什么?

在notifyDataSetChanged()上设置animationListView项

当我的数据库数据发生变化时,我想用SimpleCursorAdapter为我的ListView添加一些animation。 我正在使用SimpleCursorAdapter和LoaderManager我尝试在getView方法中添加animation @Override public View getView(int position, View convertView, ViewGroup parent) { View view=super.getView(position, convertView, parent); //My animation(nineoldandroid) ObjectAnimator.ofFloat(view,”alpha”,0,1).setDuration(500).start(); return view; } 但是这种方法可以animation所有项目,但有些项目在更新之前是相同的。 Android是否有方法来检测哪些项目需要更新,删除或添加? 例如,可能有一些方法可以在调用myAdapter.swapCursor(newCursor);之前在旧游标和新游标之间进行更改myAdapter.swapCursor(newCursor); 可以标记项目(删除,更新,新)并在交换之前删除animation,并在getViewanimation。 我怎么解决这个问题?

为什么android:listSelector错误地从Activity更改为Activity

重现的步骤 – 这发生在Android 4.2.2上 – 我没有看到它发生在Android 4.2.1上 回答几个问题,退出应用程序 回到应用程序 选择一个问题集 – 它是holo_LIGHT_blue 转到另一个活动(例如信息屏幕)并返回 选择一个问题集 – 它是holo_DARK_blue 注意:我不是在修改android:list_selector,我使用默认的Android。 你认为系统正在缓存某些东西吗? 这是应用程序的URL,如果你想尝试一下,但我认为这个问题可以在不下载的情况下得到解答。 https://play.google.com/store/apps/details?id=com.txt2lrn.www

我可以在运行时在listview中插入一列吗?

我想让listview看起来像android.All列中的datagrid控件是由动态的代码行为生成的。我的代码片段可以成功构建但是listview没有按照我的预期显示。它有什么问题? @Override public View getView(int position, View convertView, ViewGroup parentView) { ViewHolder holder = null; if (convertView == null) { synchronized (MainActivity.this) { convertView = mInflater.inflate(id_row_layout, null); holder = new ViewHolder(); //I had add an textView to the convertView,but it not show LinearLayout layout = (LinearLayout) convertView.findViewById(R.id.rLayout); TextView tx = new TextView(context); tx.setText(“ads”); layout.addView(tx); MyHScrollView […]

带有按钮和静态字符串数组的ListView

我想创建一个ListView ,其中每row有两个按钮。 Button1和Button2 。 我已经阅读了很多关于如何创建CustomAdapter或扩展BaseAdapter ,但是没有一个在我的情况下工作,这就是为什么我在这里打开一个新问题。 我的strings.xml有一个静态(不更改)字符串数组: Item1 Item2 我想在我的ListView中使用这个数组(我设法使用onClick事件创建一个普通的ListView,但现在我想为每一行添加按钮)并为每一行添加两个按钮,每个按钮都有自己的onClick事件。 我已经按照这里的答案和网上的其他一些教程,但在尝试setText时我总是得到NullPointerException 。 CustomAdapter.java : public class CustomAdapter extends BaseAdapter implements ListAdapter { private ArrayList list = new ArrayList(); private Context ctx; public CustomAdapter(ArrayList list, Context ctx){ this.list = list; this.ctx = ctx; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int […]

CursorAdapter中的checkbox

我读过这篇文章 但我无法解决我的问题。 我在listview中使用CursorAdapter。 我在列表的每个项目中都有一个checkbox。如果您选中了checkbox并向上和向下滚动。 该checkbox将被禁用。 我无法解决它。 请帮帮我。 @Override public void bindView(View view, Context context, final Cursor cursor) { TextView tv1 = (TextView)view.findViewById(R.id.txt_name); TextView tv2 = (TextView)view.findViewById(R.id.txt_numer); tv1.setText(cursor.getString(2)); tv2.setText(cursor.getString(3)); final int pos = cursor.getPosition(); final CheckBox repeatChkBx = (CheckBox)view.findViewById(R.id.favorite_check); String likes = cursor.getString(cursor.getColumnIndex(“like”)); if (likes.equals(“yes”)) { repeatChkBx.setChecked(true); } else { repeatChkBx.setChecked(false); } repeatChkBx.setOnClickListener(new OnClickListener() { @Override […]

如何开发像Google日历这样的粘性列的列表视图

我正在开发一款Android应用,其中包含Google日历中的日历列表视图。 具体来说,我想产生这样的效果,当用户在右侧滚动事件列表视图时,左侧的日期列表将在第二天部分到来时向上移动。 请参阅Google日历的工作原理。 我发现一些库可以实现粘贴标题的效果,比如Instagram。 例如, https://github.com/emilsjolander/StickyScrollViewItems https://github.com/DWorkS/AStickyHeader https://github.com/emilsjolander/StickyListHeaders https://github.com/TonicArtos/StickyGridHeaders http://applidium.github.io/HeaderListView/ 但是,所有这些实际上都像Instagram一样实现它们,即节标题贯穿整行,下面是单个项目。 它与Google日历不同,左栏是粘性的,右侧是可滚动的。 我无法find一种方法来更改我使用HeaderListView来实现的库。 标题和列表实际上是listview本身。 我无法将它们左右分开以实现Google日历的效果。 任何人都知道是否有其他图书馆可以像谷歌日历一样? 或者任何关于如何从头开发它的提示? 谢谢。

列表视图行中的TextView在Android中滚动时显示重复值?

我正在使用ListView的自定义适配器,其中我有一个TextView和一个Spinner。 从Spinner中选择值后,将值复制到相应行列表的TextView之后。 问题是,由于我在ListView中有超过40个元素,当我选择第一个微调器并将值设置为相应的TextView时,在滚动时,在第10行TextView中可以看到相同的值。 在滚动时将值从第1个TextView复制到第10个TextView。 以下是我使用的代码: public class AppListAdapter extends BaseAdapter { private LayoutInflater mInflater; private List mApps = Constants.list; private Context _activity; ArrayList months=null; ArrayAdapter dataAdapter =null; int spinerposition; int viewposition; int temp=0; private int screenWidth; /** * Constructor. * * @param context the application context which is needed for the layout inflater * @param […]

Android – 创建一个包含ListView可滚动的LinearLayout

我知道每个人都建议我们永远不要一起使用ListView和ScrollView ,我完全同意。 但是,我目前仍然使用一个非常简单的模式,如8tracks的个人资料页面(如下图所示),其中包括用户个人资料的区域和他们制作的混音列表。 所以基本上,用户可以向下滚动该页面,这意味着配置文件部分将位于屏幕顶部并逐渐退出视图,同时下面的列表也会滚动: 但是,目前我所能做的就是在LinearLayout包含一个ListView ,就像我的草图一样。 通过这种设计,我只能向下滚动列表,而配置文件区域保持在相同的位置,这很糟糕。 所以我正在寻找任何想法使整个页面可滚动,而不仅仅是列表。 请帮助和谢谢。 编辑 :我很抱歉这个误导性的问题。 我的问题更加复杂,因为选项卡的内容不仅仅是ListView – 某些选项卡包含LinearLayout或GridView 。 同样,我想要实现的是使整个页面可滚动,但ScrollView无法帮助,因为如果选项卡的内容是ListView或GridView ,这些视图将被折叠,更重要的是 – 这违反了设计规则。